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

org.nakedobjects.nos.remote.command.DataFactory Maven / Gradle / Ivy

package org.nakedobjects.nos.remote.command;

import org.nakedobjects.noa.adapter.Oid;
import org.nakedobjects.noa.adapter.Version;
import org.nakedobjects.nof.reflect.remote.data.ClientActionResultData;
import org.nakedobjects.nof.reflect.remote.data.CollectionData;
import org.nakedobjects.nof.reflect.remote.data.Data;
import org.nakedobjects.nof.reflect.remote.data.IdentityData;
import org.nakedobjects.nof.reflect.remote.data.NullData;
import org.nakedobjects.nof.reflect.remote.data.ObjectData;
import org.nakedobjects.nof.reflect.remote.data.ReferenceData;
import org.nakedobjects.nof.reflect.remote.data.ServerActionResultData;
import org.nakedobjects.nof.reflect.remote.data.ValueData;


/**
 * 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);

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy