/** * Creates a new {@link AsideRequest} which is used to examine the next child {@link DockStation}. * @param location the location on the child station * @return the new aside request, must not be <code>null</code> nor <code>this</code> */ protected DefaultAsideRequest createForwardRequest( DockableProperty location ){ return new DefaultAsideRequest( location, getPlaceholder() ); }
protected AsideAnswer forward( Forward forward ){ DockableProperty successor = null; if( location != null ){ successor = location.getSuccessor(); } DefaultAsideRequest request = createForwardRequest( successor ); request.setCurrent( forward ); request.setParentStation( current.getStation() ); successorAnswer = request.execute(); return successorAnswer; }
public AsideAnswer execute( DockStation station ){ setCurrent( new DockStationForward( station ) ); return execute(); }
public AsideAnswer forward( Combiner combiner, PlaceholderMap layout ){ return forward( new CombinerForward( combiner, layout )); }
public AsideRequest createAsideRequest( DockableProperty location, Dockable dockable ){ Path placeholder = null; PlaceholderStrategy strategy = properties.get( PlaceholderStrategy.PLACEHOLDER_STRATEGY ); if( strategy != null ){ placeholder = strategy.getPlaceholderFor( dockable ); } return new DefaultAsideRequest( location, placeholder ); } }
/** * Makes a call to {@link DockStation#aside(AsideRequest)} or {@link Combiner#aside(AsideRequest)}. This method * should be called only once. * @return the location and layout of the {@link Dockable} that is to be inserted */ protected AsideAnswer execute(){ if( hasAnswer ){ throw new IllegalStateException( "this request is already used, it cannot be executed a second time" ); } current.execute( this ); if( hasAnswer ){ hasAnswer = true; DockableProperty location = answerLocation( successorAnswer ); return new DefaultAsideAnswer( false, location, resultingLayout ); } else{ return new DefaultAsideAnswer( true, null, null ); } }
public AsideAnswer execute( DockStation station ){ setCurrent( new DockStationForward( station ) ); return execute(); }
public AsideAnswer forward( Combiner combiner ){ return forward( new CombinerForward( combiner, null )); }
public AsideRequest createAsideRequest( DockableProperty location, Dockable dockable ){ Path placeholder = null; PlaceholderStrategy strategy = properties.get( PlaceholderStrategy.PLACEHOLDER_STRATEGY ); if( strategy != null ){ placeholder = strategy.getPlaceholderFor( dockable ); } return new DefaultAsideRequest( location, placeholder ); } }
/** * Makes a call to {@link DockStation#aside(AsideRequest)} or {@link Combiner#aside(AsideRequest)}. This method * should be called only once. * @return the location and layout of the {@link Dockable} that is to be inserted */ protected AsideAnswer execute(){ if( hasAnswer ){ throw new IllegalStateException( "this request is already used, it cannot be executed a second time" ); } current.execute( this ); if( hasAnswer ){ hasAnswer = true; DockableProperty location = answerLocation( successorAnswer ); return new DefaultAsideAnswer( false, location, resultingLayout ); } else{ return new DefaultAsideAnswer( true, null, null ); } }
protected AsideAnswer forward( Forward forward ){ DockableProperty successor = null; if( location != null ){ successor = location.getSuccessor(); } DefaultAsideRequest request = createForwardRequest( successor ); request.setCurrent( forward ); request.setParentStation( current.getStation() ); successorAnswer = request.execute(); return successorAnswer; }
/** * Creates a new {@link AsideRequest} which is used to examine the next child {@link DockStation}. * @param location the location on the child station * @return the new aside request, must not be <code>null</code> nor <code>this</code> */ protected DefaultAsideRequest createForwardRequest( DockableProperty location ){ return new DefaultAsideRequest( location, getPlaceholder() ); }
public AsideAnswer forward( Combiner combiner, PlaceholderMap layout ){ return forward( new CombinerForward( combiner, layout )); }
public AsideAnswer forward( DockStation station ){ return forward( new DockStationForward( station )); }
public void answer(){ answer( (DockableProperty)null ); }
public AsideAnswer forward( Combiner combiner ){ return forward( new CombinerForward( combiner, null )); }
public void answer(){ answer( (DockableProperty)null ); }
public AsideAnswer forward( DockStation station ){ return forward( new DockStationForward( station )); }