package ua.com.fielden.platform.persistence.types;

import java.io.Serializable;
import java.util.Map;

import org.hibernate.engine.SessionImplementor;
import org.hibernate.usertype.CompositeUserType;

public abstract class AbstractCompositeUserType implements CompositeUserType {

    public boolean isMutable() {
	return false;
    }

    public Object deepCopy(final Object value) {
	return value;
    }

    public Serializable disassemble(final Object value, final SessionImplementor session) {
	return (Serializable) value;
    }

    public Object assemble(final Serializable cached, final SessionImplementor session, final Object owner) {
	return cached;
    }

    public Object replace(final Object original, final Object target, final SessionImplementor session, final Object owner) {
	return original;
    }

    public boolean equals(final Object x, final Object y) {
	if (x == y) {
	    return true;
	}
	if (x == null || y == null) {
	    return false;
	}
	return x.equals(y);
    }

    public int hashCode(final Object x) {
	return x.hashCode();
    }

    public void setPropertyValue(final Object component, final int property, final Object value) {
	throw new UnsupportedOperationException("This type is immutable");
    }

    protected boolean allArgumentsAreNull(final Map<String, Object> arguments) {
	for (final Object argumentValue : arguments.values()) {
	    if (argumentValue != null) {
		return false;
	    }
	}
	return true;
    }
}
@@ -275,16 +275,30 @@
 Type %7B%0A%0A
+    @Override%0A
     publ
@@ -318,24 +318,24 @@
 Mutable() %7B%0A
-
 %09return fals
@@ -336,32 +336,46 @@
 n false;%0A    %7D%0A%0A
+    @Override%0A
     public Objec
@@ -421,32 +421,46 @@
 n value;%0A    %7D%0A%0A
+    @Override%0A
     public Seria
@@ -564,32 +564,46 @@
 ) value;%0A    %7D%0A%0A
+    @Override%0A
     public Objec
@@ -711,32 +711,46 @@
  cached;%0A    %7D%0A%0A
+    @Override%0A
     public Objec
@@ -876,32 +876,46 @@
 riginal;%0A    %7D%0A%0A
+    @Override%0A
     public boole
@@ -1067,32 +1067,46 @@
 uals(y);%0A    %7D%0A%0A
+    @Override%0A
     public int h
@@ -1156,24 +1156,38 @@
 e();%0A    %7D%0A%0A
+    @Override%0A
     public v

Provided '''Override''' annotations.