package com.idega.user.event; import com.idega.presentation.IWContext; import com.idega.idegaweb.IWMainApplication; import com.idega.event.*; /** * <p>Title: com.idega.user.event.ChangeClassEvent</p> * <p>Description: Event that contains a class to instanciate similar to ObjectInstanciator</p> * <p>Copyright: (c) 2002</p> * <p>Company: idega Software</p> * @author <a href="eiki@idega.is">EirikurS. Hrafnsson</a> * @version 1.0 */ public class ChangeClassEvent extends IWPresentationEvent { private static final String ENCRYPTED_CLASS_PARAMETER = "iw_cc_ev_"+IWMainApplication.classToInstanciateParameter; private String _className; public ChangeClassEvent(){} public ChangeClassEvent(Class theClass){ setChangeClass(theClass); } public void setChangeClass(Class theClass){ addParameter(ENCRYPTED_CLASS_PARAMETER,IWMainApplication.getEncryptedClassName(theClass)); } public String getChangeClassName(){ return this._className; } private void setChangeClassName(String theClass){ this._className = theClass; } public boolean initializeEvent(IWContext iwc) { //get the encrypted class name String className = iwc.getParameter(ENCRYPTED_CLASS_PARAMETER); if( className != null ){ setChangeClassName(IWMainApplication.decryptClassName(className)); return true; } return false; } }