package org.apache.maven.wagon.events;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import org.apache.maven.wagon.Wagon;
SessionEvent is used for notifying SessionListeners about
occurrences of various situations related.
The session event is emitted by Wagon
objects when
- Before connection to the repository will be opened
- After connection to the repository was opened
- After wagon has logged-in to the repository
- After wagon has logged-off from the repository
- Before connection to the repository will be closed
- After connection to the repository was closed
Author: Michal Maczka
/**
* SessionEvent is used for notifying SessionListeners about
* occurrences of various situations related.
* <p/>
* The session event is emitted by <code>Wagon</code> objects when
* <p/>
* <ul>
* <li>Before connection to the repository will be opened</li>
* <li>After connection to the repository was opened</li>
* <li>After wagon has logged-in to the repository</li>
* <li>After wagon has logged-off from the repository</li>
* <li>Before connection to the repository will be closed</li>
* <li>After connection to the repository was closed</li>
* </ul>
*
* @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
*
*/
public class SessionEvent
extends WagonEvent
{
A SESSION was closed.
/**
* A SESSION was closed.
*/
public static final int SESSION_CLOSED = 1;
A SESSION is about to be disconnected.
/**
* A SESSION is about to be disconnected.
*/
public static final int SESSION_DISCONNECTING = 2;
A SESSION was disconnected (not currently used).
/**
* A SESSION was disconnected (not currently used).
*/
public static final int SESSION_DISCONNECTED = 3;
A SESSION was refused.
/**
* A SESSION was refused.
*/
public static final int SESSION_CONNECTION_REFUSED = 4;
A SESSION is about to be opened.
/**
* A SESSION is about to be opened.
*/
public static final int SESSION_OPENING = 5;
A SESSION was opened.
/**
* A SESSION was opened.
*/
public static final int SESSION_OPENED = 6;
A SESSION was opened.
/**
* A SESSION was opened.
*/
public static final int SESSION_LOGGED_IN = 7;
A SESSION was opened.
/**
* A SESSION was opened.
*/
public static final int SESSION_LOGGED_OFF = 8;
A SESSION was opened.
/**
* A SESSION was opened.
*/
public static final int SESSION_ERROR_OCCURRED = 9;
The type of the event. One of the SESSSION_XXX constants
/**
* The type of the event. One of the SESSSION_XXX constants
*/
private int eventType;
private Exception exception;
Creates new instance of SessionEvent
Params: - wagon –
Wagon object which created this event
- eventType – the type of the event
/**
* Creates new instance of SessionEvent
*
* @param wagon <code>Wagon<code> object which created this event
* @param eventType the type of the event
*/
public SessionEvent( final Wagon wagon, final int eventType )
{
super( wagon );
this.eventType = eventType;
}
Creates new instance of SessionEvent. Sets event type to SESSION_ERROR_OCCURRED
Params: - wagon –
Wagon object which created this event
- exception – the exception
/**
* Creates new instance of SessionEvent. Sets event type to <code>SESSION_ERROR_OCCURRED</code>
*
* @param wagon <code>Wagon<code> object which created this event
* @param exception the exception
*/
public SessionEvent( final Wagon wagon, final Exception exception )
{
super( wagon );
this.exception = exception;
this.eventType = SESSION_ERROR_OCCURRED;
}
Returns: Returns the type.
/**
* @return Returns the type.
*/
public int getEventType()
{
return eventType;
}
Returns: Returns the exception.
/**
* @return Returns the exception.
*/
public Exception getException()
{
return exception;
}
Params: - eventType – The eventType to set.
/**
* @param eventType The eventType to set.
*/
public void setEventType( final int eventType )
{
switch ( eventType )
{
case SessionEvent.SESSION_CLOSED:
case SessionEvent.SESSION_DISCONNECTED:
case SessionEvent.SESSION_DISCONNECTING:
case SessionEvent.SESSION_ERROR_OCCURRED:
case SessionEvent.SESSION_LOGGED_IN:
case SessionEvent.SESSION_LOGGED_OFF:
case SessionEvent.SESSION_OPENED:
case SessionEvent.SESSION_OPENING:
case SessionEvent.SESSION_CONNECTION_REFUSED:
break;
default :
throw new IllegalArgumentException( "Illegal event type: " + eventType );
}
this.eventType = eventType;
}
Params: - exception – The exception to set.
/**
* @param exception The exception to set.
*/
public void setException( final Exception exception )
{
this.exception = exception;
}
public String toString()
{
StringBuilder sb = new StringBuilder();
sb.append( "SessionEvent[" );
switch ( this.eventType )
{
case SessionEvent.SESSION_CLOSED:
sb.append( "CONNECTION_CLOSED" );
break;
case SessionEvent.SESSION_DISCONNECTED:
sb.append( "CONNECTION_DISCONNECTED" );
break;
case SessionEvent.SESSION_DISCONNECTING:
sb.append( "CONNECTION_DISCONNECTING" );
break;
case SessionEvent.SESSION_ERROR_OCCURRED:
sb.append( "CONNECTION_ERROR_OCCURRED" );
break;
case SessionEvent.SESSION_LOGGED_IN:
sb.append( "CONNECTION_LOGGED_IN" );
break;
case SessionEvent.SESSION_LOGGED_OFF:
sb.append( "CONNECTION_LOGGED_OFF" );
break;
case SessionEvent.SESSION_OPENED:
sb.append( "CONNECTION_OPENED" );
break;
case SessionEvent.SESSION_OPENING:
sb.append( "CONNECTION_OPENING" );
break;
case SessionEvent.SESSION_CONNECTION_REFUSED:
sb.append( "CONNECTION_CONNECTION_REFUSED" );
break;
default:
sb.append( eventType );
}
sb.append( "|" );
sb.append( this.getWagon().getRepository() ).append( "|" );
sb.append( this.source );
if ( exception != null )
{
sb.append( "|" );
sb.append( exception.getClass().getName() ).append( ":" );
sb.append( exception.getMessage() );
}
sb.append( "]" );
return sb.toString();
}
}