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