Stephan Michels wrote:
> Carsten Ziegeler wrote:
> >
> > Now, think if an implementation for copy(). Each Source implementation
> > must test if the destination is the same source implementation or not.
> > If not use IS/OS if yes use optimized etc.
> 
> agreed.
> 
> > So, if we are using these "marker" interfaces for all other parts, I
> > really think we should add a "MoveableSource" (substitute the 
> name if you
> > like)
> 
> I thought these operations are a kind of writing operations.
> 
> > and have an utility class check if:
> > a) both sources have the same implementation and
> > b) implement MoveableSource
> > If both is answered with yes, this can be used - if not the 
> utility class
> > uses IS/OS copying.
> 
> I like code sippets ;-)

sippets? :) (ok, just kidding)

> 
> class MySource implements MoveableSource
> {
>  void copy(Source source)
>  {
>    // impementation depending copy
>  }
> }
> 
> class SourceCopyUtil<whatever>
> {
>  void copy(Source from, Source to)
>  {
>    If ((from instanceof MoveableSource) &&
>        (from.getClass().equals(to.getClass()))
>     // impementation depending copy
>     ((MoveableSource)from).copy(to);
>    else
>     IS/OS copy
>  }
> }
> 
> Something like that?
> 
Exactly.

Would you suggest to have two interfaces, one for copying
and one for moving? 
Or is it ok, to implement a move as a copy/delete?

Carsten

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to