
package ossj.common.ex;

import javax.oss.JVTSessionRemoteBusiness;

/**
 * This is the business interface for VpnService enterprise bean.
 */
public interface VpnServiceRemoteBusiness extends JVTSessionRemoteBusiness {
  
  /**
     * Create a Value Type object for a specific MplsVpnService type.
     * <p>
     * Not to be confused with the creation of a MplsVpnService.
     * <p>
     * The Session Bean is used as a factory for the creation of Value types.
     * 
     * 
     * @param valueType The fully qualified type of the MplsVpnServiceValue to be created.
     * @exception javax.oss.OssIllegalArgumentException Invalid Arguments
     * @exception java.rmi.RemoteException           System Level Exception
     */
    com.infomodel.MplsVpnServiceValue makeMplsVpnServiceValue(String valueType) throws javax.oss.OssIllegalArgumentException, java.rmi.RemoteException, java.rmi.RemoteException;

    /**
     *    This is the createMplsVpnServiceByValue
     * 
     *    This method is MANDATORY
     * 
     * @param mplsVpnServiceValue
     * @return com.infomodel.MplsVpnServiceKey
     * @throws javax.oss.OssIllegalArgumentException
     * @throws java.rmi.RemoteException
     * @throws javax.ejb.DuplicateKeyException
     * @throws javax.ejb.CreateException
     */
    com.infomodel.MplsVpnServiceKey createMplsVpnServiceByValue(com.infomodel.MplsVpnServiceValue mplsVpnServiceValue) throws javax.oss.OssIllegalArgumentException, java.rmi.RemoteException, javax.ejb.DuplicateKeyException, javax.ejb.CreateException, java.rmi.RemoteException;

    /**
     *    This is the getMplsVpnServiceByKey
     * 
     *    This method is MANDATORY
     * 
     * @param mplsVpnServiceKey
     * @param attrNames
     * @return com.infomodel.MplsVpnServiceValue
     * @throws javax.oss.OssIllegalArgumentException
     * @throws java.rmi.RemoteException
     * @throws javax.ejb.ObjectNotFoundException
     */
    com.infomodel.MplsVpnServiceValue getMplsVpnServiceByKey(com.infomodel.MplsVpnServiceKey mplsVpnServiceKey, String[] attrNames) throws javax.oss.OssIllegalArgumentException, java.rmi.RemoteException, javax.ejb.ObjectNotFoundException, java.rmi.RemoteException;

    /**
     *    This is the setMplsVpnServiceByValue
     * 
     *    This method is MANDATORY
     * 
     * @param mplsVpnServiceValue
     * @param resyncRequired
     * @throws javax.oss.OssIllegalArgumentException
     * @throws java.rmi.RemoteException
     * @throws javax.ejb.ObjectNotFoundException
     * @throws javax.oss.OssSetException
     * @throws javax.oss.OssResyncRequiredException
     */
    void setMplsVpnServiceByValue(com.infomodel.MplsVpnServiceValue mplsVpnServiceValue, boolean resyncRequired) throws javax.oss.OssIllegalArgumentException, java.rmi.RemoteException, javax.ejb.ObjectNotFoundException, javax.oss.OssSetException, javax.oss.OssResyncRequiredException, java.rmi.RemoteException;

    /**
     *    This is the removeMplsVpnServiceByKey
     * 
     *    This method is MANDATORY
     * 
     * @param mplsVpnServiceKey
     * @throws javax.oss.OssIllegalArgumentException
     * @throws java.rmi.RemoteException
     * @throws javax.ejb.ObjectNotFoundException
     * @throws javax.ejb.RemoveException
     */
    void removeMplsVpnServiceByKey(com.infomodel.MplsVpnServiceKey mplsVpnServiceKey) throws javax.oss.OssIllegalArgumentException, java.rmi.RemoteException, javax.ejb.ObjectNotFoundException, javax.ejb.RemoveException, java.rmi.RemoteException;

    
}
