/* * Copyright (c) 2009 Declarative Engineering LLC. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Declarative Engineering LLC * verson 1 which accompanies this distribution, and is available at * http://declarativeengineering.com/legal/DE_Developer_License_v1.txt */ package com.de22.orb; /** * Allows an application control over whether certain class names are mangled or demangled over a socket. */ public interface IStreamClassNameManipulator { /** * Provides the implementation a chance to either mangle or demangle the class name prior to sending it. * @param className The class name to be manipulated. * @return The modified class name to be sent. */ public String send(String className); /** * Provides the implementation a chance to either mangle or demangle the class name after receiving it and prior to placing or using it in the deserialized model. * @param className The class name received. * @return The modified class name, possibly to be used to instantiate objects necessary for deserialization. */ public String receive(String className); }//IStreamClassNameManipulator//