http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
deleted file mode 100644
index 00fc866..0000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
+++ /dev/null
@@ -1,544 +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.internal.portable.builder;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Set;
-import 
org.apache.ignite.internal.processors.cache.portable.CacheObjectPortableProcessorImpl;
-import org.apache.ignite.internal.util.GridArgumentCheck;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.portable.PortableBuilder;
-import org.apache.ignite.portable.PortableException;
-import org.apache.ignite.portable.PortableInvalidClassException;
-import org.apache.ignite.portable.PortableMetadata;
-import org.apache.ignite.portable.PortableObject;
-import org.jetbrains.annotations.Nullable;
-import org.apache.ignite.internal.portable.*;
-import org.apache.ignite.internal.processors.cache.portable.*;
-import org.apache.ignite.internal.util.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-import org.apache.ignite.portable.*;
-
-import static 
org.apache.ignite.internal.portable.GridPortableMarshaller.CLS_NAME_POS;
-import static 
org.apache.ignite.internal.portable.GridPortableMarshaller.DFLT_HDR_LEN;
-import static 
org.apache.ignite.internal.portable.GridPortableMarshaller.HASH_CODE_POS;
-import static 
org.apache.ignite.internal.portable.GridPortableMarshaller.PROTO_VER;
-import static 
org.apache.ignite.internal.portable.GridPortableMarshaller.PROTO_VER_POS;
-import static 
org.apache.ignite.internal.portable.GridPortableMarshaller.RAW_DATA_OFF_POS;
-import static 
org.apache.ignite.internal.portable.GridPortableMarshaller.TOTAL_LEN_POS;
-import static 
org.apache.ignite.internal.portable.GridPortableMarshaller.TYPE_ID_POS;
-import static 
org.apache.ignite.internal.portable.GridPortableMarshaller.UNREGISTERED_TYPE_ID;
-
-/**
- *
- */
-public class PortableBuilderImpl implements PortableBuilder {
-    /** */
-    private static final Object REMOVED_FIELD_MARKER = new Object();
-
-    /** */
-    private final PortableContext ctx;
-
-    /** */
-    private final int typeId;
-
-    /** May be null. */
-    private String typeName;
-
-    /** May be null. */
-    private String clsNameToWrite;
-
-    /** */
-    private boolean registeredType = true;
-
-    /** */
-    private Map<String, Object> assignedVals;
-
-    /** */
-    private Map<Integer, Object> readCache;
-
-    /** Position of object in source array, or -1 if object is not created 
from PortableObject. */
-    private final int start;
-
-    /** Total header length */
-    private final int hdrLen;
-
-    /**
-     * Context of PortableObject reading process. Or {@code null} if object is 
not created from PortableObject.
-     */
-    private final PortableBuilderReader reader;
-
-    /** */
-    private int hashCode;
-
-    /**
-     * @param clsName Class name.
-     * @param ctx Portable context.
-     */
-    public PortableBuilderImpl(PortableContext ctx, String clsName) {
-        this(ctx, ctx.typeId(clsName), PortableContext.typeName(clsName));
-    }
-
-    /**
-     * @param typeId Type ID.
-     * @param ctx Portable context.
-     */
-    public PortableBuilderImpl(PortableContext ctx, int typeId) {
-        this(ctx, typeId, null);
-    }
-
-    /**
-     * @param typeName Type name.
-     * @param ctx Context.
-     * @param typeId Type id.
-     */
-    public PortableBuilderImpl(PortableContext ctx, int typeId, String 
typeName) {
-        this.typeId = typeId;
-        this.typeName = typeName;
-        this.ctx = ctx;
-
-        start = -1;
-        reader = null;
-        hdrLen = DFLT_HDR_LEN;
-
-        readCache = Collections.emptyMap();
-    }
-
-    /**
-     * @param obj Object to wrap.
-     */
-    public PortableBuilderImpl(PortableObjectImpl obj) {
-        this(new PortableBuilderReader(obj), obj.start());
-
-        reader.registerObject(this);
-    }
-
-    /**
-     * @param reader ctx
-     * @param start Start.
-     */
-    PortableBuilderImpl(PortableBuilderReader reader, int start) {
-        this.reader = reader;
-        this.start = start;
-
-        byte ver = reader.readByteAbsolute(start + PROTO_VER_POS);
-
-        PortableUtils.checkProtocolVersion(ver);
-
-        int typeId = reader.readIntAbsolute(start + TYPE_ID_POS);
-        ctx = reader.portableContext();
-        hashCode = reader.readIntAbsolute(start + HASH_CODE_POS);
-
-        if (typeId == UNREGISTERED_TYPE_ID) {
-            int mark = reader.position();
-
-            reader.position(start + CLS_NAME_POS);
-
-            clsNameToWrite = reader.readString();
-
-            Class cls;
-
-            try {
-                // TODO: IGNITE-1272 - Is class loader needed here?
-                cls = U.forName(clsNameToWrite, null);
-            }
-            catch (ClassNotFoundException e) {
-                throw new PortableInvalidClassException("Failed to load the 
class: " + clsNameToWrite, e);
-            }
-
-            this.typeId = ctx.descriptorForClass(cls).typeId();
-
-            registeredType = false;
-
-            hdrLen = reader.position() - mark;
-
-            reader.position(mark);
-        }
-        else {
-            this.typeId = typeId;
-            hdrLen = DFLT_HDR_LEN;
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public PortableObject build() {
-        try (PortableWriterExImpl writer = new PortableWriterExImpl(ctx, 0, 
typeId, false)) {
-
-            PortableBuilderSerializer serializationCtx = new 
PortableBuilderSerializer();
-
-            serializationCtx.registerObjectWriting(this, 0);
-
-            serializeTo(writer, serializationCtx);
-
-            byte[] arr = writer.array();
-
-            return new PortableObjectImpl(ctx, arr, 0);
-        }
-    }
-
-    /**
-     * @param writer Writer.
-     * @param serializer Serializer.
-     */
-    void serializeTo(PortableWriterExImpl writer, PortableBuilderSerializer 
serializer) {
-        writer.doWriteByte(GridPortableMarshaller.OBJ);
-        writer.doWriteByte(PROTO_VER);
-        writer.doWriteBoolean(true);
-        writer.doWriteInt(registeredType ? typeId : UNREGISTERED_TYPE_ID);
-        writer.doWriteInt(hashCode);
-
-        // Length and raw offset.
-        writer.reserve(8);
-
-        if (!registeredType)
-            writer.writeString(clsNameToWrite);
-
-        Set<Integer> remainsFlds = null;
-
-        if (reader != null) {
-            Map<Integer, Object> assignedFldsById;
-
-            if (assignedVals != null) {
-                assignedFldsById = U.newHashMap(assignedVals.size());
-
-                for (Map.Entry<String, Object> entry : 
assignedVals.entrySet()) {
-                    int fldId = ctx.fieldId(typeId, entry.getKey());
-
-                    assignedFldsById.put(fldId, entry.getValue());
-                }
-
-                remainsFlds = assignedFldsById.keySet();
-            }
-            else
-                assignedFldsById = Collections.emptyMap();
-
-            int rawOff = start + reader.readIntAbsolute(start + 
RAW_DATA_OFF_POS);
-
-            reader.position(start + hdrLen);
-
-            int cpStart = -1;
-
-            while (reader.position() < rawOff) {
-                int fldId = reader.readInt();
-
-                int len = reader.readInt();
-
-                if (assignedFldsById.containsKey(fldId)) {
-                    if (cpStart >= 0) {
-                        writer.write(reader.array(), cpStart, 
reader.position() - 4 - 4 - cpStart);
-
-                        cpStart = -1;
-                    }
-
-                    Object assignedVal = assignedFldsById.remove(fldId);
-
-                    reader.skip(len);
-
-                    if (assignedVal != REMOVED_FIELD_MARKER) {
-                        writer.writeInt(fldId);
-
-                        int lenPos = writer.reserveAndMark(4);
-
-                        serializer.writeValue(writer, assignedVal);
-
-                        writer.writeDelta(lenPos);
-                    }
-                }
-                else {
-                    int type = len != 0 ? reader.readByte(0) : 0;
-
-                    if (len != 0 && !PortableUtils.isPlainArrayType(type) && 
PortableUtils.isPlainType(type)) {
-                        if (cpStart < 0)
-                            cpStart = reader.position() - 4 - 4;
-
-                        reader.skip(len);
-                    }
-                    else {
-                        if (cpStart >= 0) {
-                            writer.write(reader.array(), cpStart, 
reader.position() - 4 - cpStart);
-
-                            cpStart = -1;
-                        }
-                        else
-                            writer.writeInt(fldId);
-
-                        Object val;
-
-                        if (len == 0)
-                            val = null;
-                        else if (readCache == null) {
-                            int savedPos = reader.position();
-
-                            val = reader.parseValue();
-
-                            assert reader.position() == savedPos + len;
-                        }
-                        else {
-                            val = readCache.get(fldId);
-
-                            reader.skip(len);
-                        }
-
-                        int lenPos = writer.reserveAndMark(4);
-
-                        serializer.writeValue(writer, val);
-
-                        writer.writeDelta(lenPos);
-                    }
-                }
-            }
-
-            if (cpStart >= 0)
-                writer.write(reader.array(), cpStart, reader.position() - 
cpStart);
-        }
-
-        if (assignedVals != null && (remainsFlds == null || 
!remainsFlds.isEmpty())) {
-            boolean metadataEnabled = ctx.isMetaDataEnabled(typeId);
-
-            PortableMetadata metadata = null;
-
-            if (metadataEnabled)
-                metadata = ctx.metaData(typeId);
-
-            Map<String, String> newFldsMetadata = null;
-
-            for (Map.Entry<String, Object> entry : assignedVals.entrySet()) {
-                Object val = entry.getValue();
-
-                if (val == REMOVED_FIELD_MARKER)
-                    continue;
-
-                String name = entry.getKey();
-
-                int fldId = ctx.fieldId(typeId, name);
-
-                if (remainsFlds != null && !remainsFlds.contains(fldId))
-                    continue;
-
-                writer.writeInt(fldId);
-
-                int lenPos = writer.reserveAndMark(4);
-
-                serializer.writeValue(writer, val);
-
-                writer.writeDelta(lenPos);
-
-                if (metadataEnabled) {
-                    String oldFldTypeName = metadata == null ? null : 
metadata.fieldTypeName(name);
-
-                    String newFldTypeName;
-
-                    if (val instanceof PortableValueWithType)
-                        newFldTypeName = 
((PortableValueWithType)val).typeName();
-                    else {
-                        byte type = PortableUtils.typeByClass(val.getClass());
-
-                        newFldTypeName = 
CacheObjectPortableProcessorImpl.fieldTypeName(type);
-                    }
-
-                    if (oldFldTypeName == null) {
-                        // It's a new field, we have to add it to metadata.
-
-                        if (newFldsMetadata == null)
-                            newFldsMetadata = new HashMap<>();
-
-                        newFldsMetadata.put(name, newFldTypeName);
-                    }
-                    else {
-                        if (!"Object".equals(oldFldTypeName) && 
!oldFldTypeName.equals(newFldTypeName)) {
-                            throw new PortableException(
-                                "Wrong value has been set [" +
-                                    "typeName=" + (typeName == null ? 
metadata.typeName() : typeName) +
-                                    ", fieldName=" + name +
-                                    ", fieldType=" + oldFldTypeName +
-                                    ", assignedValueType=" + newFldTypeName +
-                                    ", assignedValue=" + 
(((PortableValueWithType)val).value()) + ']'
-                            );
-                        }
-                    }
-                }
-            }
-
-            if (newFldsMetadata != null) {
-                String typeName = this.typeName;
-
-                if (typeName == null)
-                    typeName = metadata.typeName();
-
-                ctx.updateMetaData(typeId, typeName, newFldsMetadata);
-            }
-        }
-
-        writer.writeRawOffsetIfNeeded();
-
-        if (reader != null) {
-            int rawOff = reader.readIntAbsolute(start + RAW_DATA_OFF_POS);
-            int len = reader.readIntAbsolute(start + TOTAL_LEN_POS);
-
-            if (rawOff < len)
-                writer.write(reader.array(), rawOff, len - rawOff);
-        }
-
-        writer.writeLength();
-    }
-
-    /** {@inheritDoc} */
-    @Override public PortableBuilderImpl hashCode(int hashCode) {
-        this.hashCode = hashCode;
-
-        return this;
-    }
-
-    /**
-     *
-     */
-    private void ensureReadCacheInit() {
-        if (readCache == null) {
-            Map<Integer, Object> readCache = new HashMap<>();
-
-            int pos = start + hdrLen;
-            int end = start + reader.readIntAbsolute(start + RAW_DATA_OFF_POS);
-
-            while (pos < end) {
-                int fieldId = reader.readIntAbsolute(pos);
-
-                pos += 4;
-
-                int len = reader.readIntAbsolute(pos);
-
-                pos += 4;
-
-                Object val = reader.getValueQuickly(pos, len);
-
-                readCache.put(fieldId, val);
-
-                pos += len;
-            }
-
-            this.readCache = readCache;
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public <F> F getField(String name) {
-        Object val;
-
-        if (assignedVals != null && assignedVals.containsKey(name)) {
-            val = assignedVals.get(name);
-
-            if (val == REMOVED_FIELD_MARKER)
-                return null;
-        }
-        else {
-            ensureReadCacheInit();
-
-            int fldId = ctx.fieldId(typeId, name);
-
-            val = readCache.get(fldId);
-        }
-
-        return (F)PortableUtils.unwrapLazy(val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public PortableBuilder setField(String name, Object val) {
-        GridArgumentCheck.notNull(val, name);
-
-        if (assignedVals == null)
-            assignedVals = new LinkedHashMap<>();
-
-        Object oldVal = assignedVals.put(name, val);
-
-        if (oldVal instanceof PortableValueWithType) {
-            ((PortableValueWithType)oldVal).value(val);
-
-            assignedVals.put(name, oldVal);
-        }
-
-        return this;
-    }
-
-    /** {@inheritDoc} */
-    @Override public <T> PortableBuilder setField(String name, @Nullable T 
val, Class<? super T> type) {
-        if (assignedVals == null)
-            assignedVals = new LinkedHashMap<>();
-
-        //int fldId = ctx.fieldId(typeId, fldName);
-
-        assignedVals.put(name, new 
PortableValueWithType(PortableUtils.typeByClass(type), val));
-
-        return this;
-    }
-
-    /** {@inheritDoc} */
-    @Override public PortableBuilder setField(String name, @Nullable 
PortableBuilder builder) {
-        if (builder == null)
-            return setField(name, null, Object.class);
-        else
-            return setField(name, (Object)builder);
-    }
-
-    /**
-     * Removes field from portable object.
-     *
-     * @param name Field name.
-     * @return {@code this} instance for chaining.
-     */
-    @Override public PortableBuilderImpl removeField(String name) {
-        if (assignedVals == null)
-            assignedVals = new LinkedHashMap<>();
-
-        assignedVals.put(name, REMOVED_FIELD_MARKER);
-
-        return this;
-    }
-
-    /**
-     * Creates builder initialized by specified portable object.
-     *
-     * @param obj Portable object to initialize builder.
-     * @return New builder.
-     */
-    public static PortableBuilderImpl wrap(PortableObject obj) {
-        PortableObjectImpl heapObj;
-
-        if (obj instanceof PortableObjectOffheapImpl)
-            heapObj = 
(PortableObjectImpl)((PortableObjectOffheapImpl)obj).heapCopy();
-        else
-            heapObj = (PortableObjectImpl)obj;
-
-        return new PortableBuilderImpl(heapObj);
-    }
-
-    /**
-     * @return Object start position in source array.
-     */
-    int start() {
-        return start;
-    }
-
-    /**
-     * @return Object type id.
-     */
-    public int typeId() {
-        return typeId;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderReader.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderReader.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderReader.java
index afa40a3..6404a69 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderReader.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderReader.java
@@ -23,12 +23,12 @@ import java.util.HashMap;
 import java.util.Map;
 import org.apache.ignite.internal.portable.GridPortableMarshaller;
 import org.apache.ignite.internal.portable.PortableContext;
-import org.apache.ignite.internal.portable.PortableObjectImpl;
+import org.apache.ignite.internal.portable.IgniteObjectImpl;
 import org.apache.ignite.internal.portable.PortablePrimitives;
-import org.apache.ignite.internal.portable.PortableReaderExImpl;
+import org.apache.ignite.internal.portable.IgniteObjectReaderExImpl;
 import org.apache.ignite.internal.portable.PortableUtils;
-import org.apache.ignite.internal.portable.PortableWriterExImpl;
-import org.apache.ignite.portable.PortableException;
+import org.apache.ignite.internal.portable.IgniteObjectWriterExImpl;
+import org.apache.ignite.igniteobject.IgniteObjectException;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.apache.ignite.internal.portable.GridPortableMarshaller.NULL;
@@ -42,13 +42,13 @@ class PortableBuilderReader {
     private static final PortablePrimitives PRIM = PortablePrimitives.get();
 
     /** */
-    private final Map<Integer, PortableBuilderImpl> objMap = new HashMap<>();
+    private final Map<Integer, IgniteObjectBuilderImpl> objMap = new 
HashMap<>();
 
     /** */
     private final PortableContext ctx;
 
     /** */
-    private final PortableReaderExImpl reader;
+    private final IgniteObjectReaderExImpl reader;
 
     /** */
     private byte[] arr;
@@ -59,13 +59,13 @@ class PortableBuilderReader {
     /**
      * @param objImpl Portable object
      */
-    PortableBuilderReader(PortableObjectImpl objImpl) {
+    PortableBuilderReader(IgniteObjectImpl objImpl) {
         ctx = objImpl.context();
         arr = objImpl.array();
         pos = objImpl.start();
 
         // TODO: IGNITE-1272 - Is class loader needed here?
-        reader = new PortableReaderExImpl(portableContext(), arr, pos, null);
+        reader = new IgniteObjectReaderExImpl(portableContext(), arr, pos, 
null);
     }
 
     /**
@@ -78,7 +78,7 @@ class PortableBuilderReader {
     /**
      * @param obj Mutable portable object.
      */
-    public void registerObject(PortableBuilderImpl obj) {
+    public void registerObject(IgniteObjectBuilderImpl obj) {
         objMap.put(obj.start(), obj);
     }
 
@@ -170,7 +170,7 @@ class PortableBuilderReader {
             return null;
 
         if (flag != STRING)
-            throw new PortableException("Failed to deserialize String.");
+            throw new IgniteObjectException("Failed to deserialize String.");
 
         boolean convert = readBoolean();
         int len = readInt();
@@ -338,7 +338,7 @@ class PortableBuilderReader {
                 break;
 
             default:
-                throw new PortableException("Invalid flag value: " + type);
+                throw new IgniteObjectException("Invalid flag value: " + type);
         }
 
         pos += len;
@@ -359,10 +359,10 @@ class PortableBuilderReader {
             case GridPortableMarshaller.HANDLE: {
                 int objStart = pos - readIntAbsolute(pos + 1);
 
-                PortableBuilderImpl res = objMap.get(objStart);
+                IgniteObjectBuilderImpl res = objMap.get(objStart);
 
                 if (res == null) {
-                    res = new PortableBuilderImpl(this, objStart);
+                    res = new IgniteObjectBuilderImpl(this, objStart);
 
                     objMap.put(objStart, res);
                 }
@@ -371,10 +371,10 @@ class PortableBuilderReader {
             }
 
             case GridPortableMarshaller.OBJ: {
-                PortableBuilderImpl res = objMap.get(pos);
+                IgniteObjectBuilderImpl res = objMap.get(pos);
 
                 if (res == null) {
-                    res = new PortableBuilderImpl(this, pos);
+                    res = new IgniteObjectBuilderImpl(this, pos);
 
                     objMap.put(pos, res);
                 }
@@ -455,13 +455,13 @@ class PortableBuilderReader {
 
                 int start = readIntAbsolute(pos + 4 + size);
 
-                PortableObjectImpl portableObj = new PortableObjectImpl(ctx, 
arr, pos + 4 + start);
+                IgniteObjectImpl portableObj = new IgniteObjectImpl(ctx, arr, 
pos + 4 + start);
 
                 return new PortablePlainPortableObject(portableObj);
             }
 
             default:
-                throw new PortableException("Invalid flag value: " + type);
+                throw new IgniteObjectException("Invalid flag value: " + type);
         }
     }
 
@@ -484,10 +484,10 @@ class PortableBuilderReader {
             case GridPortableMarshaller.HANDLE: {
                 int objStart = pos - 1 - readInt();
 
-                PortableBuilderImpl res = objMap.get(objStart);
+                IgniteObjectBuilderImpl res = objMap.get(objStart);
 
                 if (res == null) {
-                    res = new PortableBuilderImpl(this, objStart);
+                    res = new IgniteObjectBuilderImpl(this, objStart);
 
                     objMap.put(objStart, res);
                 }
@@ -498,10 +498,10 @@ class PortableBuilderReader {
             case GridPortableMarshaller.OBJ: {
                 pos--;
 
-                PortableBuilderImpl res = objMap.get(pos);
+                IgniteObjectBuilderImpl res = objMap.get(pos);
 
                 if (res == null) {
-                    res = new PortableBuilderImpl(this, pos);
+                    res = new IgniteObjectBuilderImpl(this, pos);
 
                     objMap.put(pos, res);
                 }
@@ -633,7 +633,7 @@ class PortableBuilderReader {
                     if (flag == GridPortableMarshaller.NULL) continue;
 
                     if (flag != GridPortableMarshaller.DATE)
-                        throw new PortableException("Invalid flag value: " + 
flag);
+                        throw new IgniteObjectException("Invalid flag value: " 
+ flag);
 
                     long time = PRIM.readLong(arr, pos);
 
@@ -657,7 +657,7 @@ class PortableBuilderReader {
                         continue;
 
                     if (flag != GridPortableMarshaller.TIMESTAMP)
-                        throw new PortableException("Invalid flag value: " + 
flag);
+                        throw new IgniteObjectException("Invalid flag value: " 
+ flag);
 
                     long time = PRIM.readLong(arr, pos);
 
@@ -719,7 +719,7 @@ class PortableBuilderReader {
                         return new PortableLazySet(this, size);
                 }
 
-                throw new PortableException("Unknown collection type: " + 
colType);
+                throw new IgniteObjectException("Unknown collection type: " + 
colType);
             }
 
             case GridPortableMarshaller.MAP:
@@ -741,7 +741,7 @@ class PortableBuilderReader {
 
                 int start = readInt();
 
-                PortableObjectImpl portableObj = new PortableObjectImpl(ctx, 
arr,
+                IgniteObjectImpl portableObj = new IgniteObjectImpl(ctx, arr,
                     pos - 4 - size + start);
 
                 return new PortablePlainPortableObject(portableObj);
@@ -749,7 +749,7 @@ class PortableBuilderReader {
 
 
             default:
-                throw new PortableException("Invalid flag value: " + type);
+                throw new IgniteObjectException("Invalid flag value: " + type);
         }
 
         PortableAbstractLazyValue res;
@@ -795,7 +795,7 @@ class PortableBuilderReader {
     /**
      * @return Reader.
      */
-    PortableReaderExImpl reader() {
+    IgniteObjectReaderExImpl reader() {
         return reader;
     }
 
@@ -830,7 +830,7 @@ class PortableBuilderReader {
         }
 
         /** {@inheritDoc} */
-        @Override public void writeTo(PortableWriterExImpl writer, 
PortableBuilderSerializer ctx) {
+        @Override public void writeTo(IgniteObjectWriterExImpl writer, 
PortableBuilderSerializer ctx) {
             ctx.writeValue(writer, wrappedCollection());
         }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderSerializationAware.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderSerializationAware.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderSerializationAware.java
index 976059a..54e9150 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderSerializationAware.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderSerializationAware.java
@@ -27,5 +27,5 @@ interface PortableBuilderSerializationAware {
      * @param writer Writer.
      * @param ctx Context.
      */
-    public void writeTo(PortableWriterExImpl writer, PortableBuilderSerializer 
ctx);
+    public void writeTo(IgniteObjectWriterExImpl writer, 
PortableBuilderSerializer ctx);
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderSerializer.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderSerializer.java
index 2d9c961..8ea87c9 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderSerializer.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderSerializer.java
@@ -17,10 +17,11 @@
 
 package org.apache.ignite.internal.portable.builder;
 
+import org.apache.ignite.igniteobject.IgniteObject;
 import org.apache.ignite.internal.portable.GridPortableMarshaller;
-import org.apache.ignite.internal.portable.PortableObjectEx;
+import org.apache.ignite.internal.portable.IgniteObjectEx;
 import org.apache.ignite.internal.portable.PortableUtils;
-import org.apache.ignite.internal.portable.PortableWriterExImpl;
+import org.apache.ignite.internal.portable.IgniteObjectWriterExImpl;
 import org.apache.ignite.internal.util.*;
 import org.apache.ignite.portable.*;
 
@@ -31,16 +32,16 @@ import java.util.*;
  */
 class PortableBuilderSerializer {
     /** */
-    private final Map<PortableBuilderImpl, Integer> objToPos = new 
IdentityHashMap<>();
+    private final Map<IgniteObjectBuilderImpl, Integer> objToPos = new 
IdentityHashMap<>();
 
     /** */
-    private Map<PortableObject, PortableBuilderImpl> portableObjToWrapper;
+    private Map<IgniteObject, IgniteObjectBuilderImpl> portableObjToWrapper;
 
     /**
      * @param obj Mutable object.
      * @param posInResArr Object position in the array.
      */
-    public void registerObjectWriting(PortableBuilderImpl obj, int 
posInResArr) {
+    public void registerObjectWriting(IgniteObjectBuilderImpl obj, int 
posInResArr) {
         objToPos.put(obj, posInResArr);
     }
 
@@ -48,7 +49,7 @@ class PortableBuilderSerializer {
      * @param writer Writer.
      * @param val Value.
      */
-    public void writeValue(PortableWriterExImpl writer, Object val) {
+    public void writeValue(IgniteObjectWriterExImpl writer, Object val) {
         if (val == null) {
             writer.writeByte(GridPortableMarshaller.NULL);
 
@@ -61,23 +62,23 @@ class PortableBuilderSerializer {
             return;
         }
 
-        if (val instanceof PortableObjectEx) {
+        if (val instanceof IgniteObjectEx) {
             if (portableObjToWrapper == null)
                 portableObjToWrapper = new IdentityHashMap<>();
 
-            PortableBuilderImpl wrapper = portableObjToWrapper.get(val);
+            IgniteObjectBuilderImpl wrapper = portableObjToWrapper.get(val);
 
             if (wrapper == null) {
-                wrapper = PortableBuilderImpl.wrap((PortableObject)val);
+                wrapper = IgniteObjectBuilderImpl.wrap((IgniteObject)val);
 
-                portableObjToWrapper.put((PortableObject)val, wrapper);
+                portableObjToWrapper.put((IgniteObject)val, wrapper);
             }
 
             val = wrapper;
         }
 
-        if (val instanceof PortableBuilderImpl) {
-            PortableBuilderImpl obj = (PortableBuilderImpl)val;
+        if (val instanceof IgniteObjectBuilderImpl) {
+            IgniteObjectBuilderImpl obj = (IgniteObjectBuilderImpl)val;
 
             Integer posInResArr = objToPos.get(obj);
 
@@ -186,7 +187,7 @@ class PortableBuilderSerializer {
      * @param arr The array.
      * @param compTypeId Component type ID.
      */
-    public void writeArray(PortableWriterExImpl writer, byte elementType, 
Object[] arr, int compTypeId) {
+    public void writeArray(IgniteObjectWriterExImpl writer, byte elementType, 
Object[] arr, int compTypeId) {
         writer.writeByte(elementType);
         writer.writeInt(compTypeId);
         writer.writeInt(arr.length);
@@ -201,7 +202,7 @@ class PortableBuilderSerializer {
      * @param arr The array.
      * @param clsName Component class name.
      */
-    public void writeArray(PortableWriterExImpl writer, byte elementType, 
Object[] arr, String clsName) {
+    public void writeArray(IgniteObjectWriterExImpl writer, byte elementType, 
Object[] arr, String clsName) {
         writer.writeByte(elementType);
         writer.writeInt(GridPortableMarshaller.UNREGISTERED_TYPE_ID);
         writer.writeString(clsName);

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableEnumArrayLazyValue.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableEnumArrayLazyValue.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableEnumArrayLazyValue.java
index d864a6e..62c4eb1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableEnumArrayLazyValue.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableEnumArrayLazyValue.java
@@ -18,10 +18,10 @@
 package org.apache.ignite.internal.portable.builder;
 
 import org.apache.ignite.internal.portable.GridPortableMarshaller;
-import org.apache.ignite.internal.portable.PortableWriterExImpl;
+import org.apache.ignite.internal.portable.IgniteObjectWriterExImpl;
 import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.portable.PortableException;
-import org.apache.ignite.portable.PortableInvalidClassException;
+import org.apache.ignite.igniteobject.IgniteObjectException;
+import org.apache.ignite.igniteobject.IgniteObjectInvalidClassException;
 
 /**
  *
@@ -54,7 +54,7 @@ class PortableEnumArrayLazyValue extends 
PortableAbstractLazyValue {
                 cls = U.forName(reader.readString(), null);
             }
             catch (ClassNotFoundException e) {
-                throw new PortableInvalidClassException("Failed to load the 
class: " + clsName, e);
+                throw new IgniteObjectInvalidClassException("Failed to load 
the class: " + clsName, e);
             }
 
             compTypeId = 
reader.portableContext().descriptorForClass(cls).typeId();
@@ -90,7 +90,7 @@ class PortableEnumArrayLazyValue extends 
PortableAbstractLazyValue {
                 continue;
 
             if (flag != GridPortableMarshaller.ENUM)
-                throw new PortableException("Invalid flag value: " + flag);
+                throw new IgniteObjectException("Invalid flag value: " + flag);
 
             res[i] = new PortableBuilderEnum(reader);
         }
@@ -99,7 +99,7 @@ class PortableEnumArrayLazyValue extends 
PortableAbstractLazyValue {
     }
 
     /** {@inheritDoc} */
-    @Override public void writeTo(PortableWriterExImpl writer, 
PortableBuilderSerializer ctx) {
+    @Override public void writeTo(IgniteObjectWriterExImpl writer, 
PortableBuilderSerializer ctx) {
         if (val != null) {
             if (clsName != null)
                 ctx.writeArray(writer, GridPortableMarshaller.ENUM_ARR, 
(Object[])val, clsName);

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyArrayList.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyArrayList.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyArrayList.java
index a08cfdd..098a70a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyArrayList.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyArrayList.java
@@ -131,7 +131,7 @@ class PortableLazyArrayList extends AbstractList<Object> 
implements PortableBuil
     }
 
     /** {@inheritDoc} */
-    @Override public void writeTo(PortableWriterExImpl writer, 
PortableBuilderSerializer ctx) {
+    @Override public void writeTo(IgniteObjectWriterExImpl writer, 
PortableBuilderSerializer ctx) {
         if (delegate == null) {
             int size = reader.readIntAbsolute(off + 1);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyLinkedList.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyLinkedList.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyLinkedList.java
index f793d7a..998be43 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyLinkedList.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyLinkedList.java
@@ -188,7 +188,7 @@ class PortableLazyLinkedList extends AbstractList<Object> 
implements PortableBui
     }
 
     /** {@inheritDoc} */
-    @Override public void writeTo(PortableWriterExImpl writer, 
PortableBuilderSerializer ctx) {
+    @Override public void writeTo(IgniteObjectWriterExImpl writer, 
PortableBuilderSerializer ctx) {
         if (delegate == null) {
             int size = reader.readIntAbsolute(off + 1);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyMap.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyMap.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyMap.java
index 12cbfd6..c1c2c5a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyMap.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyMap.java
@@ -85,7 +85,7 @@ class PortableLazyMap extends AbstractMap<Object, Object> 
implements PortableBui
     }
 
     /** {@inheritDoc} */
-    @Override public void writeTo(PortableWriterExImpl writer, 
PortableBuilderSerializer ctx) {
+    @Override public void writeTo(IgniteObjectWriterExImpl writer, 
PortableBuilderSerializer ctx) {
         if (delegate == null) {
             int size = reader.readIntAbsolute(off + 1);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyMapEntry.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyMapEntry.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyMapEntry.java
index bd027f5..8ce4cc1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyMapEntry.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazyMapEntry.java
@@ -59,7 +59,7 @@ class PortableLazyMapEntry implements Map.Entry<Object, 
Object>, PortableBuilder
     }
 
     /** {@inheritDoc} */
-    @Override public void writeTo(PortableWriterExImpl writer, 
PortableBuilderSerializer ctx) {
+    @Override public void writeTo(IgniteObjectWriterExImpl writer, 
PortableBuilderSerializer ctx) {
         writer.writeByte(GridPortableMarshaller.MAP_ENTRY);
 
         ctx.writeValue(writer, key);

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazySet.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazySet.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazySet.java
index 16772af..2f9a34b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazySet.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableLazySet.java
@@ -21,7 +21,7 @@ import java.util.Collection;
 import java.util.Set;
 import org.apache.ignite.internal.portable.GridPortableMarshaller;
 import org.apache.ignite.internal.portable.PortableUtils;
-import org.apache.ignite.internal.portable.PortableWriterExImpl;
+import org.apache.ignite.internal.portable.IgniteObjectWriterExImpl;
 import org.apache.ignite.internal.util.typedef.internal.U;
 
 /**
@@ -47,7 +47,7 @@ class PortableLazySet extends PortableAbstractLazyValue {
     }
 
     /** {@inheritDoc} */
-    @Override public void writeTo(PortableWriterExImpl writer, 
PortableBuilderSerializer ctx) {
+    @Override public void writeTo(IgniteObjectWriterExImpl writer, 
PortableBuilderSerializer ctx) {
         if (val == null) {
             int size = reader.readIntAbsolute(off + 1);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableModifiableLazyValue.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableModifiableLazyValue.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableModifiableLazyValue.java
index 09fb844..92bd4b4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableModifiableLazyValue.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableModifiableLazyValue.java
@@ -43,7 +43,7 @@ public class PortableModifiableLazyValue extends 
PortableAbstractLazyValue {
     }
 
     /** {@inheritDoc} */
-    @Override public void writeTo(PortableWriterExImpl writer, 
PortableBuilderSerializer ctx) {
+    @Override public void writeTo(IgniteObjectWriterExImpl writer, 
PortableBuilderSerializer ctx) {
         if (val == null)
             writer.write(reader.array(), valOff, len);
         else

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableObjectArrayLazyValue.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableObjectArrayLazyValue.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableObjectArrayLazyValue.java
index 1126a3c..b7f2820 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableObjectArrayLazyValue.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableObjectArrayLazyValue.java
@@ -18,9 +18,9 @@
 package org.apache.ignite.internal.portable.builder;
 
 import org.apache.ignite.internal.portable.GridPortableMarshaller;
-import org.apache.ignite.internal.portable.PortableWriterExImpl;
+import org.apache.ignite.internal.portable.IgniteObjectWriterExImpl;
 import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.portable.PortableInvalidClassException;
+import org.apache.ignite.igniteobject.IgniteObjectInvalidClassException;
 
 /**
  *
@@ -53,7 +53,7 @@ class PortableObjectArrayLazyValue extends 
PortableAbstractLazyValue {
                 cls = U.forName(reader.readString(), null);
             }
             catch (ClassNotFoundException e) {
-                throw new PortableInvalidClassException("Failed to load the 
class: " + clsName, e);
+                throw new IgniteObjectInvalidClassException("Failed to load 
the class: " + clsName, e);
             }
 
             compTypeId = 
reader.portableContext().descriptorForClass(cls).typeId();
@@ -82,7 +82,7 @@ class PortableObjectArrayLazyValue extends 
PortableAbstractLazyValue {
     }
 
     /** {@inheritDoc} */
-    @Override public void writeTo(PortableWriterExImpl writer, 
PortableBuilderSerializer ctx) {
+    @Override public void writeTo(IgniteObjectWriterExImpl writer, 
PortableBuilderSerializer ctx) {
         if (clsName == null)
             ctx.writeArray(writer, GridPortableMarshaller.OBJ_ARR, 
lazyValsArr, compTypeId);
         else

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainLazyValue.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainLazyValue.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainLazyValue.java
index 136958a..a51820a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainLazyValue.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainLazyValue.java
@@ -43,7 +43,7 @@ class PortablePlainLazyValue extends 
PortableAbstractLazyValue {
     }
 
     /** {@inheritDoc} */
-    @Override public void writeTo(PortableWriterExImpl writer, 
PortableBuilderSerializer ctx) {
+    @Override public void writeTo(IgniteObjectWriterExImpl writer, 
PortableBuilderSerializer ctx) {
         writer.write(reader.array(), valOff, len);
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainPortableObject.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainPortableObject.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainPortableObject.java
index 8743fbe..5bbe3ca 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainPortableObject.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainPortableObject.java
@@ -17,22 +17,22 @@
 
 package org.apache.ignite.internal.portable.builder;
 
-import org.apache.ignite.internal.portable.PortableObjectImpl;
-import org.apache.ignite.internal.portable.PortableObjectOffheapImpl;
-import org.apache.ignite.internal.portable.PortableWriterExImpl;
-import org.apache.ignite.portable.PortableObject;
+import org.apache.ignite.internal.portable.IgniteObjectImpl;
+import org.apache.ignite.internal.portable.IgniteObjectOffheapImpl;
+import org.apache.ignite.internal.portable.IgniteObjectWriterExImpl;
+import org.apache.ignite.igniteobject.IgniteObject;
 
 /**
  *
  */
 public class PortablePlainPortableObject implements PortableLazyValue {
     /** */
-    private final PortableObject portableObj;
+    private final IgniteObject portableObj;
 
     /**
      * @param portableObj Portable object.
      */
-    public PortablePlainPortableObject(PortableObject portableObj) {
+    public PortablePlainPortableObject(IgniteObject portableObj) {
         this.portableObj = portableObj;
     }
 
@@ -42,12 +42,12 @@ public class PortablePlainPortableObject implements 
PortableLazyValue {
     }
 
     /** {@inheritDoc} */
-    @Override public void writeTo(PortableWriterExImpl writer, 
PortableBuilderSerializer ctx) {
-        PortableObject val = portableObj;
+    @Override public void writeTo(IgniteObjectWriterExImpl writer, 
PortableBuilderSerializer ctx) {
+        IgniteObject val = portableObj;
 
-        if (val instanceof PortableObjectOffheapImpl)
-            val = ((PortableObjectOffheapImpl)val).heapCopy();
+        if (val instanceof IgniteObjectOffheapImpl)
+            val = ((IgniteObjectOffheapImpl)val).heapCopy();
 
-        writer.doWritePortableObject((PortableObjectImpl)val);
+        writer.doWritePortableObject((IgniteObjectImpl)val);
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableValueWithType.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableValueWithType.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableValueWithType.java
index 2e031f0..21d25c3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableValueWithType.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableValueWithType.java
@@ -17,7 +17,7 @@
 
 package org.apache.ignite.internal.portable.builder;
 
-import org.apache.ignite.internal.portable.PortableWriterExImpl;
+import org.apache.ignite.internal.portable.IgniteObjectWriterExImpl;
 import 
org.apache.ignite.internal.processors.cache.portable.CacheObjectPortableProcessorImpl;
 import org.apache.ignite.internal.util.typedef.internal.S;
 
@@ -41,7 +41,7 @@ class PortableValueWithType implements PortableLazyValue {
     }
 
     /** {@inheritDoc} */
-    @Override public void writeTo(PortableWriterExImpl writer, 
PortableBuilderSerializer ctx) {
+    @Override public void writeTo(IgniteObjectWriterExImpl writer, 
PortableBuilderSerializer ctx) {
         if (val instanceof PortableBuilderSerializationAware)
             ((PortableBuilderSerializationAware)val).writeTo(writer, ctx);
         else

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/portable/streams/PortableAbstractInputStream.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/streams/PortableAbstractInputStream.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/streams/PortableAbstractInputStream.java
index 107b02e..af86bfc 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/streams/PortableAbstractInputStream.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/streams/PortableAbstractInputStream.java
@@ -17,7 +17,7 @@
 
 package org.apache.ignite.internal.portable.streams;
 
-import org.apache.ignite.portable.PortableException;
+import org.apache.ignite.igniteobject.IgniteObjectException;
 
 /**
  * Portable abstract input stream.
@@ -268,7 +268,7 @@ public abstract class PortableAbstractInputStream extends 
PortableAbstractStream
     /** {@inheritDoc} */
     @Override public void position(int pos) {
         if (remaining() + this.pos < pos)
-            throw new PortableException("Position is out of bounds: " + pos);
+            throw new IgniteObjectException("Position is out of bounds: " + 
pos);
         else
             this.pos = pos;
     }
@@ -285,7 +285,7 @@ public abstract class PortableAbstractInputStream extends 
PortableAbstractStream
      */
     protected void ensureEnoughData(int cnt) {
         if (remaining() < cnt)
-            throw new PortableException("Not enough data to read the value 
[position=" + pos +
+            throw new IgniteObjectException("Not enough data to read the value 
[position=" + pos +
                 ", requiredBytes=" + cnt + ", remainingBytes=" + remaining() + 
']');
     }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java
index d889902..3e311dc 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java
@@ -53,7 +53,7 @@ public interface CacheObject extends Message {
     /**
      * Gets flag indicating whether object value is a platform type. Platform 
types will be automatically
      * deserialized on public API cache operations regardless whether
-     * {@link org.apache.ignite.IgniteCache#withKeepPortable()} is used or not.
+     * {@link org.apache.ignite.IgniteCache#withKeepBinary()} is used or not.
      *
      * @return Platform type flag.
      */

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/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 f39084e..9838158 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
@@ -311,7 +311,7 @@ public class IgniteCacheProxy<K, V> extends 
AsyncSupportAdapter<IgniteCache<K, V
     }
 
     /** {@inheritDoc} */
-    @Override public <K1, V1> IgniteCache<K1, V1> withKeepPortable() {
+    @Override public <K1, V1> IgniteCache<K1, V1> withKeepBinary() {
         return keepPortable();
     }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheDefaultPortableAffinityKeyMapper.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheDefaultPortableAffinityKeyMapper.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheDefaultPortableAffinityKeyMapper.java
index 23edd9e..5ead014 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheDefaultPortableAffinityKeyMapper.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheDefaultPortableAffinityKeyMapper.java
@@ -21,7 +21,7 @@ import org.apache.ignite.IgniteException;
 import org.apache.ignite.internal.IgniteKernal;
 import 
org.apache.ignite.internal.processors.cache.GridCacheDefaultAffinityKeyMapper;
 import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.portable.PortableObject;
+import org.apache.ignite.igniteobject.IgniteObject;
 
 /**
  *
@@ -43,8 +43,8 @@ public class CacheDefaultPortableAffinityKeyMapper extends 
GridCacheDefaultAffin
             U.error(log, "Failed to marshal key to portable: " + key, e);
         }
 
-        if (key instanceof PortableObject)
-            return proc.affinityKey((PortableObject)key);
+        if (key instanceof IgniteObject)
+            return proc.affinityKey((IgniteObject)key);
         else
             return super.affinityKey(key);
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java
index b22774b..e1dde75 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java
@@ -17,17 +17,9 @@
 
 package org.apache.ignite.internal.processors.cache.portable;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
 import org.apache.ignite.internal.GridKernalContext;
-import org.apache.ignite.internal.portable.PortableUtils;
 import org.apache.ignite.internal.processors.cache.CacheObjectContext;
 import 
org.apache.ignite.internal.processors.cache.GridCacheDefaultAffinityKeyMapper;
-import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.portable.PortableObject;
 
 /**
  *

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessor.java
index fcd73d2..b7e942c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessor.java
@@ -20,11 +20,11 @@ package 
org.apache.ignite.internal.processors.cache.portable;
 import java.util.Collection;
 import java.util.Map;
 import org.apache.ignite.IgniteException;
-import org.apache.ignite.IgnitePortables;
+import org.apache.ignite.IgniteObjects;
 import 
org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor;
-import org.apache.ignite.portable.PortableBuilder;
-import org.apache.ignite.portable.PortableMetadata;
-import org.apache.ignite.portable.PortableObject;
+import org.apache.ignite.igniteobject.IgniteObjectBuilder;
+import org.apache.ignite.igniteobject.IgniteObjectMetadata;
+import org.apache.ignite.igniteobject.IgniteObject;
 import org.jetbrains.annotations.Nullable;
 
 /**
@@ -35,13 +35,13 @@ public interface CacheObjectPortableProcessor extends 
IgniteCacheObjectProcessor
      * @param typeId Type ID.
      * @return Builder.
      */
-    public PortableBuilder builder(int typeId);
+    public IgniteObjectBuilder builder(int typeId);
 
     /**
      * @param clsName Class name.
      * @return Builder.
      */
-    public PortableBuilder builder(String clsName);
+    public IgniteObjectBuilder builder(String clsName);
 
     /**
      * Creates builder initialized by existing portable object.
@@ -49,14 +49,14 @@ public interface CacheObjectPortableProcessor extends 
IgniteCacheObjectProcessor
      * @param portableObj Portable object to edit.
      * @return Portable builder.
      */
-    public PortableBuilder builder(PortableObject portableObj);
+    public IgniteObjectBuilder builder(IgniteObject portableObj);
 
     /**
      * @param typeId Type ID.
      * @param newMeta New meta data.
      * @throws IgniteException In case of error.
      */
-    public void addMeta(int typeId, final PortableMetadata newMeta) throws 
IgniteException;
+    public void addMeta(int typeId, final IgniteObjectMetadata newMeta) throws 
IgniteException;
 
     /**
      * @param typeId Type ID.
@@ -73,26 +73,26 @@ public interface CacheObjectPortableProcessor extends 
IgniteCacheObjectProcessor
      * @return Meta data.
      * @throws IgniteException In case of error.
      */
-    @Nullable public PortableMetadata metadata(int typeId) throws 
IgniteException;
+    @Nullable public IgniteObjectMetadata metadata(int typeId) throws 
IgniteException;
 
     /**
      * @param typeIds Type ID.
      * @return Meta data.
      * @throws IgniteException In case of error.
      */
-    public Map<Integer, PortableMetadata> metadata(Collection<Integer> 
typeIds) throws IgniteException;
+    public Map<Integer, IgniteObjectMetadata> metadata(Collection<Integer> 
typeIds) throws IgniteException;
 
     /**
      * @return Metadata for all types.
      * @throws IgniteException In case of error.
      */
-    public Collection<PortableMetadata> metadata() throws IgniteException;
+    public Collection<IgniteObjectMetadata> metadata() throws IgniteException;
 
     /**
      * @return Portables interface.
      * @throws IgniteException If failed.
      */
-    public IgnitePortables portables() throws IgniteException;
+    public IgniteObjects portables() throws IgniteException;
 
     /**
      * @param obj Original object.

http://git-wip-us.apache.org/repos/asf/ignite/blob/35b6d61f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessorImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessorImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessorImpl.java
index 20a7eb5..85134bf 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessorImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessorImpl.java
@@ -39,7 +39,7 @@ import javax.cache.processor.EntryProcessor;
 import javax.cache.processor.MutableEntry;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteException;
-import org.apache.ignite.IgnitePortables;
+import org.apache.ignite.IgniteObjects;
 import org.apache.ignite.cache.CacheEntryEventSerializableFilter;
 import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.configuration.CacheConfiguration;
@@ -47,11 +47,11 @@ import org.apache.ignite.internal.GridKernalContext;
 import org.apache.ignite.internal.portable.GridPortableMarshaller;
 import org.apache.ignite.internal.portable.PortableContext;
 import org.apache.ignite.internal.portable.PortableMetaDataHandler;
-import org.apache.ignite.internal.portable.PortableMetaDataImpl;
-import org.apache.ignite.internal.portable.PortableObjectImpl;
-import org.apache.ignite.internal.portable.PortableObjectOffheapImpl;
+import org.apache.ignite.internal.portable.IgniteObjectMetaDataImpl;
+import org.apache.ignite.internal.portable.IgniteObjectImpl;
+import org.apache.ignite.internal.portable.IgniteObjectOffheapImpl;
 import org.apache.ignite.internal.portable.PortableUtils;
-import org.apache.ignite.internal.portable.builder.PortableBuilderImpl;
+import org.apache.ignite.internal.portable.builder.IgniteObjectBuilderImpl;
 import org.apache.ignite.internal.portable.streams.PortableInputStream;
 import org.apache.ignite.internal.portable.streams.PortableOffheapInputStream;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
@@ -81,10 +81,10 @@ import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgniteBiPredicate;
 import org.apache.ignite.marshaller.Marshaller;
 import org.apache.ignite.marshaller.portable.PortableMarshaller;
-import org.apache.ignite.portable.PortableBuilder;
-import org.apache.ignite.portable.PortableException;
-import org.apache.ignite.portable.PortableMetadata;
-import org.apache.ignite.portable.PortableObject;
+import org.apache.ignite.igniteobject.IgniteObjectBuilder;
+import org.apache.ignite.igniteobject.IgniteObjectException;
+import org.apache.ignite.igniteobject.IgniteObjectMetadata;
+import org.apache.ignite.igniteobject.IgniteObject;
 import org.jetbrains.annotations.Nullable;
 import org.jsr166.ConcurrentHashMap8;
 import sun.misc.Unsafe;
@@ -141,10 +141,10 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
     private final boolean clientNode;
 
     /** */
-    private volatile IgniteCacheProxy<PortableMetaDataKey, PortableMetadata> 
metaDataCache;
+    private volatile IgniteCacheProxy<PortableMetaDataKey, 
IgniteObjectMetadata> metaDataCache;
 
     /** */
-    private final ConcurrentHashMap8<PortableMetaDataKey, PortableMetadata> 
clientMetaDataCache;
+    private final ConcurrentHashMap8<PortableMetaDataKey, 
IgniteObjectMetadata> clientMetaDataCache;
 
     /** Predicate to filter portable meta data in utility cache. */
     private final CacheEntryPredicate metaPred = new 
CacheEntryPredicateAdapter() {
@@ -166,10 +166,10 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
 
     /** */
     @GridToStringExclude
-    private IgnitePortables portables;
+    private IgniteObjects portables;
 
     /** Metadata updates collected before metadata cache is initialized. */
-    private final Map<Integer, PortableMetadata> metaBuf = new 
ConcurrentHashMap<>();
+    private final Map<Integer, IgniteObjectMetadata> metaBuf = new 
ConcurrentHashMap<>();
 
     /** */
     private UUID metaCacheQryId;
@@ -268,24 +268,24 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
 
         clientNode = this.ctx.clientNode();
 
-        clientMetaDataCache = clientNode ? new 
ConcurrentHashMap8<PortableMetaDataKey, PortableMetadata>() : null;
+        clientMetaDataCache = clientNode ? new 
ConcurrentHashMap8<PortableMetaDataKey, IgniteObjectMetadata>() : null;
     }
 
     /** {@inheritDoc} */
     @Override public void start() throws IgniteCheckedException {
         if (marsh instanceof PortableMarshaller) {
             PortableMetaDataHandler metaHnd = new PortableMetaDataHandler() {
-                @Override public void addMeta(int typeId, PortableMetadata 
newMeta)
-                    throws PortableException {
+                @Override public void addMeta(int typeId, IgniteObjectMetadata 
newMeta)
+                    throws IgniteObjectException {
                     if (metaDataCache == null) {
-                        PortableMetadata oldMeta = metaBuf.get(typeId);
+                        IgniteObjectMetadata oldMeta = metaBuf.get(typeId);
 
                         if (oldMeta == null || checkMeta(typeId, oldMeta, 
newMeta, null)) {
                             synchronized (this) {
                                 Map<String, String> fields = new HashMap<>();
 
                                 if (checkMeta(typeId, oldMeta, newMeta, 
fields)) {
-                                    newMeta = new 
PortableMetaDataImpl(newMeta.typeName(),
+                                    newMeta = new 
IgniteObjectMetaDataImpl(newMeta.typeName(),
                                         fields,
                                         newMeta.affinityKeyFieldName());
 
@@ -307,7 +307,7 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
                     CacheObjectPortableProcessorImpl.this.addMeta(typeId, 
newMeta);
                 }
 
-                @Override public PortableMetadata metadata(int typeId) throws 
PortableException {
+                @Override public IgniteObjectMetadata metadata(int typeId) 
throws IgniteObjectException {
                     if (metaDataCache == null)
                         U.awaitQuiet(startLatch);
 
@@ -317,13 +317,13 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
 
             PortableMarshaller pMarh0 = (PortableMarshaller)marsh;
 
-            portableCtx = new PortableContext(metaHnd, ctx.gridName());
+            portableCtx = new PortableContext(metaHnd, ctx.config());
 
             IgniteUtils.invoke(PortableMarshaller.class, pMarh0, 
"setPortableContext", portableCtx);
 
             portableMarsh = new GridPortableMarshaller(portableCtx);
 
-            portables = new IgnitePortablesImpl(ctx, this);
+            portables = new IgniteObjectsImpl(ctx, this);
         }
     }
 
@@ -350,7 +350,7 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
 
                 GridCacheQueryManager qryMgr = 
metaDataCache.context().queries();
 
-                CacheQuery<Map.Entry<PortableMetaDataKey, PortableMetadata>> 
qry =
+                CacheQuery<Map.Entry<PortableMetaDataKey, 
IgniteObjectMetadata>> qry =
                     qryMgr.createScanQuery(new MetaDataPredicate(), null, 
false);
 
                 qry.keepAll(false);
@@ -358,9 +358,9 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
                 qry.projection(ctx.cluster().get().forNode(oldestSrvNode));
 
                 try {
-                    CacheQueryFuture<Map.Entry<PortableMetaDataKey, 
PortableMetadata>> fut = qry.execute();
+                    CacheQueryFuture<Map.Entry<PortableMetaDataKey, 
IgniteObjectMetadata>> fut = qry.execute();
 
-                    Map.Entry<PortableMetaDataKey, PortableMetadata> next;
+                    Map.Entry<PortableMetaDataKey, IgniteObjectMetadata> next;
 
                     while ((next = fut.next()) != null) {
                         assert next.getKey() != null : next;
@@ -382,7 +382,7 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
 
         startLatch.countDown();
 
-        for (Map.Entry<Integer, PortableMetadata> e : metaBuf.entrySet())
+        for (Map.Entry<Integer, IgniteObjectMetadata> e : metaBuf.entrySet())
             addMeta(e.getKey(), e.getValue());
 
         metaBuf.clear();
@@ -400,16 +400,16 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
      * @param key Metadata key.
      * @param newMeta Metadata.
      */
-    private void addClientCacheMetaData(PortableMetaDataKey key, final 
PortableMetadata newMeta) {
+    private void addClientCacheMetaData(PortableMetaDataKey key, final 
IgniteObjectMetadata newMeta) {
         clientMetaDataCache.compute(key,
-            new ConcurrentHashMap8.BiFun<PortableMetaDataKey, 
PortableMetadata, PortableMetadata>() {
-                @Override public PortableMetadata apply(PortableMetaDataKey 
key, PortableMetadata oldMeta) {
-                    PortableMetadata res;
+            new ConcurrentHashMap8.BiFun<PortableMetaDataKey, 
IgniteObjectMetadata, IgniteObjectMetadata>() {
+                @Override public IgniteObjectMetadata 
apply(PortableMetaDataKey key, IgniteObjectMetadata oldMeta) {
+                    IgniteObjectMetadata res;
 
                     try {
                         res = checkMeta(key.typeId(), oldMeta, newMeta, null) 
? newMeta : oldMeta;
                     }
-                    catch (PortableException e) {
+                    catch (IgniteObjectException e) {
                         res = oldMeta;
                     }
 
@@ -430,9 +430,9 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
     /**
      * @param obj Object.
      * @return Bytes.
-     * @throws PortableException If failed.
+     * @throws org.apache.ignite.igniteobject.IgniteObjectException If failed.
      */
-    public byte[] marshal(@Nullable Object obj) throws PortableException {
+    public byte[] marshal(@Nullable Object obj) throws IgniteObjectException {
         byte[] arr = portableMarsh.marshal(obj, 0);
 
         assert arr.length > 0;
@@ -444,9 +444,9 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
      * @param ptr Off-heap pointer.
      * @param forceHeap If {@code true} creates heap-based object.
      * @return Object.
-     * @throws PortableException If failed.
+     * @throws org.apache.ignite.igniteobject.IgniteObjectException If failed.
      */
-    public Object unmarshal(long ptr, boolean forceHeap) throws 
PortableException {
+    public Object unmarshal(long ptr, boolean forceHeap) throws 
IgniteObjectException {
         assert ptr > 0 : ptr;
 
         int size = UNSAFE.getInt(ptr);
@@ -467,7 +467,7 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
     }
 
     /** {@inheritDoc} */
-    @Override public Object marshalToPortable(@Nullable Object obj) throws 
PortableException {
+    @Override public Object marshalToPortable(@Nullable Object obj) throws 
IgniteObjectException {
         if (obj == null)
             return null;
 
@@ -524,9 +524,9 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
 
         Object obj0 = portableMarsh.unmarshal(arr, null);
 
-        assert obj0 instanceof PortableObject;
+        assert obj0 instanceof IgniteObject;
 
-        ((PortableObjectImpl)obj0).detachAllowed(true);
+        ((IgniteObjectImpl)obj0).detachAllowed(true);
 
         return obj0;
     }
@@ -539,50 +539,50 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
     }
 
     /** {@inheritDoc} */
-    @Override public PortableBuilder builder(int typeId) {
-        return new PortableBuilderImpl(portableCtx, typeId);
+    @Override public IgniteObjectBuilder builder(int typeId) {
+        return new IgniteObjectBuilderImpl(portableCtx, typeId);
     }
 
     /** {@inheritDoc} */
-    @Override public PortableBuilder builder(String clsName) {
-        return new PortableBuilderImpl(portableCtx, clsName);
+    @Override public IgniteObjectBuilder builder(String clsName) {
+        return new IgniteObjectBuilderImpl(portableCtx, clsName);
     }
 
     /** {@inheritDoc} */
-    @Override public PortableBuilder builder(PortableObject portableObj) {
-        return PortableBuilderImpl.wrap(portableObj);
+    @Override public IgniteObjectBuilder builder(IgniteObject portableObj) {
+        return IgniteObjectBuilderImpl.wrap(portableObj);
     }
 
     /** {@inheritDoc} */
     @Override public void updateMetaData(int typeId, String typeName, 
@Nullable String affKeyFieldName,
-        Map<String, Integer> fieldTypeIds) throws PortableException {
+        Map<String, Integer> fieldTypeIds) throws IgniteObjectException {
         portableCtx.updateMetaData(typeId,
-            new PortableMetaDataImpl(typeName, fieldTypeNames(fieldTypeIds), 
affKeyFieldName));
+            new IgniteObjectMetaDataImpl(typeName, 
fieldTypeNames(fieldTypeIds), affKeyFieldName));
     }
 
     /** {@inheritDoc} */
-    @Override public void addMeta(final int typeId, final PortableMetadata 
newMeta) throws PortableException {
+    @Override public void addMeta(final int typeId, final IgniteObjectMetadata 
newMeta) throws IgniteObjectException {
         assert newMeta != null;
 
         final PortableMetaDataKey key = new PortableMetaDataKey(typeId);
 
         try {
-            PortableMetadata oldMeta = metaDataCache.localPeek(key);
+            IgniteObjectMetadata oldMeta = metaDataCache.localPeek(key);
 
             if (oldMeta == null || checkMeta(typeId, oldMeta, newMeta, null)) {
-                PortableException err = metaDataCache.invoke(key, new 
MetaDataProcessor(typeId, newMeta));
+                IgniteObjectException err = metaDataCache.invoke(key, new 
MetaDataProcessor(typeId, newMeta));
 
                 if (err != null)
                     throw err;
             }
         }
         catch (CacheException e) {
-            throw new PortableException("Failed to update meta data for type: 
" + newMeta.typeName(), e);
+            throw new IgniteObjectException("Failed to update meta data for 
type: " + newMeta.typeName(), e);
         }
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public PortableMetadata metadata(final int typeId) 
throws PortableException {
+    @Nullable @Override public IgniteObjectMetadata metadata(final int typeId) 
throws IgniteObjectException {
         try {
             if (clientNode)
                 return clientMetaDataCache.get(new 
PortableMetaDataKey(typeId));
@@ -590,58 +590,58 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
             return metaDataCache.localPeek(new PortableMetaDataKey(typeId));
         }
         catch (CacheException e) {
-            throw new PortableException(e);
+            throw new IgniteObjectException(e);
         }
     }
 
     /** {@inheritDoc} */
-    @Override public Map<Integer, PortableMetadata> 
metadata(Collection<Integer> typeIds)
-        throws PortableException {
+    @Override public Map<Integer, IgniteObjectMetadata> 
metadata(Collection<Integer> typeIds)
+        throws IgniteObjectException {
         try {
             Collection<PortableMetaDataKey> keys = new 
ArrayList<>(typeIds.size());
 
             for (Integer typeId : typeIds)
                 keys.add(new PortableMetaDataKey(typeId));
 
-            Map<PortableMetaDataKey, PortableMetadata> meta = 
metaDataCache.getAll(keys);
+            Map<PortableMetaDataKey, IgniteObjectMetadata> meta = 
metaDataCache.getAll(keys);
 
-            Map<Integer, PortableMetadata> res = U.newHashMap(meta.size());
+            Map<Integer, IgniteObjectMetadata> res = U.newHashMap(meta.size());
 
-            for (Map.Entry<PortableMetaDataKey, PortableMetadata> e : 
meta.entrySet())
+            for (Map.Entry<PortableMetaDataKey, IgniteObjectMetadata> e : 
meta.entrySet())
                 res.put(e.getKey().typeId(), e.getValue());
 
             return res;
         }
         catch (CacheException e) {
-            throw new PortableException(e);
+            throw new IgniteObjectException(e);
         }
     }
 
     /** {@inheritDoc} */
     @SuppressWarnings("unchecked")
-    @Override public Collection<PortableMetadata> metadata() throws 
PortableException {
+    @Override public Collection<IgniteObjectMetadata> metadata() throws 
IgniteObjectException {
         if (clientNode)
             return new ArrayList<>(clientMetaDataCache.values());
 
         return F.viewReadOnly(metaDataCache.entrySetx(metaPred),
-            new C1<Cache.Entry<PortableMetaDataKey, PortableMetadata>, 
PortableMetadata>() {
+            new C1<Cache.Entry<PortableMetaDataKey, IgniteObjectMetadata>, 
IgniteObjectMetadata>() {
                 private static final long serialVersionUID = 0L;
 
-                @Override public PortableMetadata apply(
-                    Cache.Entry<PortableMetaDataKey, PortableMetadata> e) {
+                @Override public IgniteObjectMetadata apply(
+                    Cache.Entry<PortableMetaDataKey, IgniteObjectMetadata> e) {
                     return e.getValue();
                 }
             });
     }
 
     /** {@inheritDoc} */
-    @Override public IgnitePortables portables() throws IgniteException {
+    @Override public IgniteObjects portables() throws IgniteException {
         return portables;
     }
 
     /** {@inheritDoc} */
     @Override public boolean isPortableObject(Object obj) {
-        return obj instanceof PortableObject;
+        return obj instanceof IgniteObject;
     }
 
     /** {@inheritDoc} */
@@ -653,9 +653,9 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
      * @param po Portable object.
      * @return Affinity key.
      */
-    public Object affinityKey(PortableObject po) {
+    public Object affinityKey(IgniteObject po) {
         try {
-            PortableMetadata meta = po.metaData();
+            IgniteObjectMetadata meta = po.metaData();
 
             if (meta != null) {
                 String affKeyFieldName = meta.affinityKeyFieldName();
@@ -664,7 +664,7 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
                     return po.field(affKeyFieldName);
             }
         }
-        catch (PortableException e) {
+        catch (IgniteObjectException e) {
             U.error(log, "Failed to get affinity field from portable object: " 
+ po, e);
         }
 
@@ -676,7 +676,7 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
         if (obj == null)
             return 0;
 
-        return isPortableObject(obj) ? ((PortableObject)obj).typeId() : 
typeId(obj.getClass().getSimpleName());
+        return isPortableObject(obj) ? ((IgniteObject)obj).typeId() : 
typeId(obj.getClass().getSimpleName());
     }
 
     /** {@inheritDoc} */
@@ -684,12 +684,12 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
         if (obj == null)
             return null;
 
-        return isPortableObject(obj) ? ((PortableObject)obj).field(fieldName) 
: super.field(obj, fieldName);
+        return isPortableObject(obj) ? ((IgniteObject)obj).field(fieldName) : 
super.field(obj, fieldName);
     }
 
     /** {@inheritDoc} */
     @Override public boolean hasField(Object obj, String fieldName) {
-        return obj != null && ((PortableObject)obj).hasField(fieldName);
+        return obj != null && ((IgniteObject)obj).hasField(fieldName);
     }
 
     /**
@@ -750,8 +750,8 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
         if (((CacheObjectPortableContext)ctx).portableEnabled()) {
             obj = toPortable(obj);
 
-            if (obj instanceof PortableObject)
-                return (PortableObjectImpl)obj;
+            if (obj instanceof IgniteObject)
+                return (IgniteObjectImpl)obj;
         }
 
         return toCacheKeyObject0(obj, userObj);
@@ -768,16 +768,16 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
 
         obj = toPortable(obj);
 
-        if (obj instanceof PortableObject)
-            return (PortableObjectImpl)obj;
+        if (obj instanceof IgniteObject)
+            return (IgniteObjectImpl)obj;
 
         return toCacheObject0(obj, userObj);
     }
 
     /** {@inheritDoc} */
     @Override public CacheObject toCacheObject(CacheObjectContext ctx, byte 
type, byte[] bytes) {
-        if (type == PortableObjectImpl.TYPE_PORTABLE)
-            return new PortableObjectImpl(portableContext(), bytes, 0);
+        if (type == IgniteObjectImpl.TYPE_PORTABLE)
+            return new IgniteObjectImpl(portableContext(), bytes, 0);
 
         return super.toCacheObject(ctx, type, bytes);
     }
@@ -790,19 +790,19 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
 
         Object val = unmarshal(valPtr, !tmp);
 
-        if (val instanceof PortableObjectOffheapImpl)
-            return (PortableObjectOffheapImpl)val;
+        if (val instanceof IgniteObjectOffheapImpl)
+            return (IgniteObjectOffheapImpl)val;
 
         return new CacheObjectImpl(val, null);
     }
 
     /** {@inheritDoc} */
-    @Override public Object unwrapTemporary(GridCacheContext ctx, Object obj) 
throws PortableException {
+    @Override public Object unwrapTemporary(GridCacheContext ctx, Object obj) 
throws IgniteObjectException {
         if 
(!((CacheObjectPortableContext)ctx.cacheObjectContext()).portableEnabled())
             return obj;
 
-        if (obj instanceof PortableObjectOffheapImpl)
-            return ((PortableObjectOffheapImpl)obj).heapCopy();
+        if (obj instanceof IgniteObjectOffheapImpl)
+            return ((IgniteObjectOffheapImpl)obj).heapCopy();
 
         return obj;
     }
@@ -828,20 +828,20 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
      * @param newMeta New meta.
      * @param fields Fields map.
      * @return Whether meta is changed.
-     * @throws PortableException In case of error.
+     * @throws org.apache.ignite.igniteobject.IgniteObjectException In case of 
error.
      */
-    private static boolean checkMeta(int typeId, @Nullable PortableMetadata 
oldMeta,
-        PortableMetadata newMeta, @Nullable Map<String, String> fields) throws 
PortableException {
+    private static boolean checkMeta(int typeId, @Nullable 
IgniteObjectMetadata oldMeta,
+        IgniteObjectMetadata newMeta, @Nullable Map<String, String> fields) 
throws IgniteObjectException {
         assert newMeta != null;
 
-        Map<String, String> oldFields = oldMeta != null ? 
((PortableMetaDataImpl)oldMeta).fieldsMeta() : null;
-        Map<String, String> newFields = 
((PortableMetaDataImpl)newMeta).fieldsMeta();
+        Map<String, String> oldFields = oldMeta != null ? 
((IgniteObjectMetaDataImpl)oldMeta).fieldsMeta() : null;
+        Map<String, String> newFields = 
((IgniteObjectMetaDataImpl)newMeta).fieldsMeta();
 
         boolean changed = false;
 
         if (oldMeta != null) {
             if (!oldMeta.typeName().equals(newMeta.typeName())) {
-                throw new PortableException(
+                throw new IgniteObjectException(
                     "Two portable types have duplicate type ID [" +
                         "typeId=" + typeId +
                         ", typeName1=" + oldMeta.typeName() +
@@ -851,7 +851,7 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
             }
 
             if (!F.eq(oldMeta.affinityKeyFieldName(), 
newMeta.affinityKeyFieldName())) {
-                throw new PortableException(
+                throw new IgniteObjectException(
                     "Portable type has different affinity key fields on 
different clients [" +
                         "typeName=" + newMeta.typeName() +
                         ", affKeyFieldName1=" + oldMeta.affinityKeyFieldName() 
+
@@ -871,7 +871,7 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
 
             if (typeName != null) {
                 if (!typeName.equals(e.getValue())) {
-                    throw new PortableException(
+                    throw new IgniteObjectException(
                         "Portable field has different types on different 
clients [" +
                             "typeName=" + newMeta.typeName() +
                             ", fieldName=" + e.getKey() +
@@ -895,7 +895,7 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
     /**
      */
     private static class MetaDataProcessor implements
-        EntryProcessor<PortableMetaDataKey, PortableMetadata, 
PortableException>, Externalizable {
+        EntryProcessor<PortableMetaDataKey, IgniteObjectMetadata, 
IgniteObjectException>, Externalizable {
         /** */
         private static final long serialVersionUID = 0L;
 
@@ -903,7 +903,7 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
         private int typeId;
 
         /** */
-        private PortableMetadata newMeta;
+        private IgniteObjectMetadata newMeta;
 
         /**
          * For {@link Externalizable}.
@@ -916,7 +916,7 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
          * @param typeId Type ID.
          * @param newMeta New metadata.
          */
-        private MetaDataProcessor(int typeId, PortableMetadata newMeta) {
+        private MetaDataProcessor(int typeId, IgniteObjectMetadata newMeta) {
             assert newMeta != null;
 
             this.typeId = typeId;
@@ -924,16 +924,16 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
         }
 
         /** {@inheritDoc} */
-        @Override public PortableException process(
-            MutableEntry<PortableMetaDataKey, PortableMetadata> entry,
+        @Override public IgniteObjectException process(
+            MutableEntry<PortableMetaDataKey, IgniteObjectMetadata> entry,
             Object... args) {
             try {
-                PortableMetadata oldMeta = entry.getValue();
+                IgniteObjectMetadata oldMeta = entry.getValue();
 
                 Map<String, String> fields = new HashMap<>();
 
                 if (checkMeta(typeId, oldMeta, newMeta, fields)) {
-                    PortableMetadata res = new 
PortableMetaDataImpl(newMeta.typeName(),
+                    IgniteObjectMetadata res = new 
IgniteObjectMetaDataImpl(newMeta.typeName(),
                         fields,
                         newMeta.affinityKeyFieldName());
 
@@ -944,7 +944,7 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
                 else
                     return null;
             }
-            catch (PortableException e) {
+            catch (IgniteObjectException e) {
                 return e;
             }
         }
@@ -958,7 +958,7 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
         /** {@inheritDoc} */
         @Override public void readExternal(ObjectInput in) throws IOException, 
ClassNotFoundException {
             typeId = in.readInt();
-            newMeta = (PortableMetadata)in.readObject();
+            newMeta = (IgniteObjectMetadata)in.readObject();
         }
 
         /** {@inheritDoc} */
@@ -970,17 +970,17 @@ public class CacheObjectPortableProcessorImpl extends 
IgniteCacheObjectProcessor
     /**
      *
      */
-    class MetaDataEntryListener implements 
CacheEntryUpdatedListener<PortableMetaDataKey, PortableMetadata> {
+    class MetaDataEntryListener implements 
CacheEntryUpdatedListener<PortableMetaDataKey, IgniteObjectMetadata> {
         /** {@inheritDoc} */
         @Override public void onUpdated(
-            Iterable<CacheEntryEvent<? extends PortableMetaDataKey, ? extends 
PortableMetadata>> evts)
+            Iterable<CacheEntryEvent<? extends PortableMetaDataKey, ? extends 
IgniteObjectMetadata>> evts)
             throws CacheEntryListenerException {
-            for (CacheEntryEvent<? extends PortableMetaDataKey, ? extends 
PortableMetadata> evt : evts) {
+            for (CacheEntryEvent<? extends PortableMetaDataKey, ? extends 
IgniteObjectMetadata> evt : evts) {
                 assert evt.getEventType() == EventType.CREATED || 
evt.getEventType() == EventType.UPDATED : evt;
 
                 PortableMetaDataKey key = evt.getKey();
 
-                final PortableMetadata newMeta = evt.getValue();
+                final IgniteObjectMetadata newMeta = evt.getValue();
 
                 assert newMeta != null : evt;
 

Reply via email to