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 }