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

org.nakedobjects.plugins.remoting.shared.ServerFacade Maven / Gradle / Ivy

package org.nakedobjects.plugins.remoting.shared;

import java.util.Properties;

import org.nakedobjects.metamodel.adapter.oid.Oid;
import org.nakedobjects.metamodel.authentication.AuthenticationSession;
import org.nakedobjects.metamodel.commons.component.ApplicationScopedComponent;
import org.nakedobjects.plugins.remoting.shared.data.ClientActionResultData;
import org.nakedobjects.plugins.remoting.shared.data.CriteriaData;
import org.nakedobjects.plugins.remoting.shared.data.Data;
import org.nakedobjects.plugins.remoting.shared.data.EncodeableObjectData;
import org.nakedobjects.plugins.remoting.shared.data.IdentityData;
import org.nakedobjects.plugins.remoting.shared.data.ObjectData;
import org.nakedobjects.plugins.remoting.shared.data.ReferenceData;
import org.nakedobjects.plugins.remoting.shared.data.ServerActionResultData;


/**
 * previously called Distribution.
 */
public interface ServerFacade extends ApplicationScopedComponent {
    // TODO remove the associate - clear the field without reference to its current state!
    ObjectData[] clearAssociation(AuthenticationSession session, String fieldIdentifier, IdentityData target, IdentityData associate);

    ObjectData[] clearValue(AuthenticationSession session, String fieldIdentifier, IdentityData target);

    ClientActionResultData executeClientAction(AuthenticationSession session, ReferenceData[] changes, int types[]);

    ServerActionResultData executeServerAction(
            AuthenticationSession session,
            String actionType,
            String actionIdentifier,
            ReferenceData target,
            Data[] parameters);

    ObjectData[] findInstances(AuthenticationSession session, CriteriaData criteria);

    ObjectData getObject(AuthenticationSession session, Oid oid, String specificationName);

    boolean hasInstances(AuthenticationSession session, String specificationName);

    IdentityData oidForService(AuthenticationSession session, String id);

    Data resolveField(AuthenticationSession session, IdentityData data, String fieldName);

    ObjectData resolveImmediately(AuthenticationSession session, IdentityData target);

    ObjectData[] setAssociation(AuthenticationSession session, String fieldIdentifier, IdentityData target, IdentityData associate);

    ObjectData[] setValue(AuthenticationSession session, String fieldIdentifier, IdentityData target, EncodeableObjectData value);

    Properties getProperties();

    AuthenticationSession authenticate(String data);

    boolean authoriseUsability(AuthenticationSession session, String data);

    boolean authoriseVisibility(AuthenticationSession session, String data);

    void closeSession(AuthenticationSession session);
}
// Copyright (c) Naked Objects Group Ltd.




© 2015 - 2025 Weber Informatics LLC | Privacy Policy