/*
* Copyright 2015 Red Hat, Inc.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Apache License v2.0 which accompanies this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* The Apache License v2.0 is available at
* http://www.opensource.org/licenses/apache2.0.php
*
* You may elect to redistribute this code under either of these licenses.
*
*
* Copyright (c) 2015 The original author or authors
* ------------------------------------------------------
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Apache License v2.0 which accompanies this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* The Apache License v2.0 is available at
* http://www.opensource.org/licenses/apache2.0.php
*
* You may elect to redistribute this code under either of these licenses.
*
*/
package io.vertx.ext.shell.session;
import io.vertx.codegen.annotations.Fluent;
import io.vertx.codegen.annotations.VertxGen;
import io.vertx.ext.shell.session.impl.SessionImpl;
A shell session.
Author: Julien Viet
/**
* A shell session.
*
* @author <a href="mailto:julien@julienviet.com">Julien Viet</a>
*/
@VertxGen
public interface Session {
Create a new empty session.
Returns: the created session
/**
* Create a new empty session.
*
* @return the created session
*/
static Session create() {
return new SessionImpl();
}
Put some data in a session
Params: - key – the key for the data
- obj – the data
Returns: a reference to this, so the API can be used fluently
/**
* Put some data in a session
*
* @param key the key for the data
* @param obj the data
* @return a reference to this, so the API can be used fluently
*/
@Fluent
Session put(String key, Object obj);
Get some data from the session
Params: - key – the key of the data
Returns: the data
/**
* Get some data from the session
*
* @param key the key of the data
* @return the data
*/
<T> T get(String key);
Remove some data from the session
Params: - key – the key of the data
Returns: the data that was there or null if none there
/**
* Remove some data from the session
*
* @param key the key of the data
* @return the data that was there or null if none there
*/
<T> T remove(String key);
}