• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

narrowing

 
Dan T
Ranch Hand
Posts: 66
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What would happen if you narrow something that doesnt need to be narrowed ?

(ie. calling create() / findByPrimaryKey(...) )
 
Jason Mowat
Ranch Hand
Posts: 79
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey Ryan,

I don't think you can narrow something that is not itself remote. The API states that PortableRemoteObject.narrow:

Checks to ensure that an object of a remote or abstract interface type can be cast to a desired type


It states that you would get a ClassCastException if narrowFrom cannot be cast to narrowTo. If narrowFrom (i.e. your object that doesn't need to be narrowed) is not a Remote interface, I am guessing you would get a ClassCastException. I'm not quite sure what they mean by an abstract interface type...aren't all interfaces abstract? If that's the case, then perhaps you can narrow to anything as long as it implements the interface you are using to do the narrow?

You could verify this for certain by either trying it yourself, or cracking open the code for PortableRemoteObject and seeing what it really does.

Cheers,
Jason
[ August 13, 2004: Message edited by: Jason Mowat ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic