001 package org.crsh.shell; 002 003 import java.security.Principal; 004 005 /** @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a> */ 006 public interface ShellFactory { 007 008 /** 009 * Create a shell object ready to be used. 010 * 011 * @param principal the user principal it may be null in case of an unauthenticated user 012 * @return the shell instance 013 */ 014 Shell create(Principal principal); 015 016 }