Hi Amit, Try that one
def bindObject[T <: AnyRef](className: Class[T]): Option[Object] = { val sClassName = className.getPackage.getName.concat(".Wrap".concat(className.getSimpleName)) try { Some(Class.forName(sClassName.replaceFirst("com.vtech", "com.vtech.appxtension")).newInstance.asInstanceOf[T]) } catch { case e: Exception => try { Some(Class.forName(className.getName).newInstance.asInstanceOf[T]) } catch { case e1: Exception => println(e1.printStackTrace) None } } } Regards, Sergey On Mon, Apr 20, 2009 at 3:41 PM, Amit Kumar Verma <cdac.a...@gmail.com>wrote: > > Hi All, > > This is a sample function for making an object from string at run > time. Here we are not casting the object but creating one. I wanted > the same thing for casting the object. > > public static Object bindObject(Class className) { > Object objOutput = null; > try { > String sClassName = className.getPackage().getName().concat > (".Wrap".concat(className.getSimpleName())); > objOutput = Class.forName(sClassName.replaceFirst > ("com.vtech", "com.vtech.appxtension")).newInstance(); > } catch (Exception e) { > try { > objOutput = Class.forName(className.getName > ()).newInstance(); > } catch (Exception e1) { > e1.printStackTrace(); > } > } > > return objOutput; > } > > > Thanks to all for kind support.. > Amit Kumar Verma > > On Apr 18, 8:51 pm, Timothy Perrett <timo...@getintheloop.eu> wrote: > > So your talking about reflection right? Take a look at scala Manifests > > (which aide getting round type erasure) - other than that scala supports > all > > the normal reflection tooling that Java does. > > > > Tim > > > > On 18/04/2009 06:56, "Amit Kumar Verma" <cdac.a...@gmail.com> wrote: > > > > > "Scala is a static language, so the class for casting must be known at > > > compile time. It's not possible to construct a String at runtime and > > > cast > > > an object into a class represented by that String. " > > > > > But we use this feature in Java for casting the objects. > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---