001 /* 002 * Copyright (C) 2012 eXo Platform SAS. 003 * 004 * This is free software; you can redistribute it and/or modify it 005 * under the terms of the GNU Lesser General Public License as 006 * published by the Free Software Foundation; either version 2.1 of 007 * the License, or (at your option) any later version. 008 * 009 * This software is distributed in the hope that it will be useful, 010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 012 * Lesser General Public License for more details. 013 * 014 * You should have received a copy of the GNU Lesser General Public 015 * License along with this software; if not, write to the Free 016 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 017 * 02110-1301 USA, or see the FSF site: http://www.fsf.org. 018 */ 019 020 /* 021 * Copyright (C) 2012 eXo Platform SAS. 022 * 023 * This is free software; you can redistribute it and/or modify it 024 * under the terms of the GNU Lesser General Public License as 025 * published by the Free Software Foundation; either version 2.1 of 026 * the License, or (at your option) any later version. 027 * 028 * This software is distributed in the hope that it will be useful, 029 * but WITHOUT ANY WARRANTY; without even the implied warranty of 030 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 031 * Lesser General Public License for more details. 032 * 033 * You should have received a copy of the GNU Lesser General Public 034 * License along with this software; if not, write to the Free 035 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 036 * 02110-1301 USA, or see the FSF site: http://www.fsf.org. 037 */ 038 039 /* 040 * Copyright (C) 2012 eXo Platform SAS. 041 * 042 * This is free software; you can redistribute it and/or modify it 043 * under the terms of the GNU Lesser General Public License as 044 * published by the Free Software Foundation; either version 2.1 of 045 * the License, or (at your option) any later version. 046 * 047 * This software is distributed in the hope that it will be useful, 048 * but WITHOUT ANY WARRANTY; without even the implied warranty of 049 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 050 * Lesser General Public License for more details. 051 * 052 * You should have received a copy of the GNU Lesser General Public 053 * License along with this software; if not, write to the Free 054 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 055 * 02110-1301 USA, or see the FSF site: http://www.fsf.org. 056 */ 057 058 /* 059 * Copyright (C) 2012 eXo Platform SAS. 060 * 061 * This is free software; you can redistribute it and/or modify it 062 * under the terms of the GNU Lesser General Public License as 063 * published by the Free Software Foundation; either version 2.1 of 064 * the License, or (at your option) any later version. 065 * 066 * This software is distributed in the hope that it will be useful, 067 * but WITHOUT ANY WARRANTY; without even the implied warranty of 068 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 069 * Lesser General Public License for more details. 070 * 071 * You should have received a copy of the GNU Lesser General Public 072 * License along with this software; if not, write to the Free 073 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 074 * 02110-1301 USA, or see the FSF site: http://www.fsf.org. 075 */ 076 package org.crsh.cli.impl.descriptor; 077 078 import org.crsh.cli.descriptor.CommandDescriptor; 079 080 import java.io.IOException; 081 082 /** @author Julien Viet */ 083 public class Help<T> { 084 085 /** . */ 086 private final CommandDescriptorImpl<T> descriptor; 087 088 public Help(CommandDescriptorImpl<T> descriptor) { 089 this.descriptor = descriptor; 090 } 091 092 public CommandDescriptor<T> getDescriptor() { 093 return descriptor; 094 } 095 096 @Override 097 public String toString() { 098 try { 099 StringBuilder sb = new StringBuilder(); 100 descriptor.printUsage(sb); 101 return sb.toString(); 102 } 103 catch (IOException e) { 104 throw new AssertionError(e); 105 } 106 } 107 }