All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nakedobjects.remoting.shared.data.DataFactory Maven / Gradle / Ivy

package org.nakedobjects.remoting.shared.data;

import org.nakedobjects.metamodel.adapter.oid.Oid;
import org.nakedobjects.metamodel.adapter.version.Version;
import org.nakedobjects.remoting.shared.encoding.object.data.ClientActionResultData;
import org.nakedobjects.remoting.shared.encoding.object.data.CollectionData;
import org.nakedobjects.remoting.shared.encoding.object.data.EncodeableObjectData;
import org.nakedobjects.remoting.shared.encoding.object.data.IdentityData;
import org.nakedobjects.remoting.shared.encoding.object.data.NullData;
import org.nakedobjects.remoting.shared.encoding.object.data.ObjectData;
import org.nakedobjects.remoting.shared.encoding.object.data.ReferenceData;
import org.nakedobjects.remoting.shared.encoding.object.data.ServerActionResultData;


/**
 * Create serializable objects that are used to carry messages across the network. This assumes that the Oid
 * and Version implementations are also serializable.
 */
public interface DataFactory {
    
    CollectionData createCollectionData(
            String collectionType,
            String elementType,
            Oid oid,
            ReferenceData[] elements,
            boolean hasAllElements,
            Version version);

    NullData createNullData(String type);

    ObjectData createObjectData(String type, Oid oid, boolean hasCompleteData, Version version);

    IdentityData createIdentityData(String type, Oid oid, Version version);

    ServerActionResultData createServerActionResultData(
            Data result,
            ObjectData[] updatesData,
            ReferenceData[] disposed,
            ObjectData persistedTarget,
            ObjectData[] persistedParameters,
            String[] messages,
            String[] warnings);

    ClientActionResultData createClientActionResultData(
            ReferenceData[] madePersistent,
            Version[] changedVersion,
            ObjectData[] updates);

    EncodeableObjectData createValueData(String fullName, String encodedValue);
}
// Copyright (c) Naked Objects Group Ltd.




© 2015 - 2025 Weber Informatics LLC | Privacy Policy