001/* 002 * jPOS Project [http://jpos.org] 003 * Copyright (C) 2000-2026 jPOS Software SRL 004 * 005 * This program is free software: you can redistribute it and/or modify 006 * it under the terms of the GNU Affero General Public License as 007 * published by the Free Software Foundation, either version 3 of the 008 * License, or (at your option) any later version. 009 * 010 * This program is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU Affero General Public License for more details. 014 * 015 * You should have received a copy of the GNU Affero General Public License 016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 017 */ 018 019package org.jpos.q2.cli; 020 021import java.io.BufferedInputStream; 022import java.io.IOException; 023import java.io.InputStream; 024import org.jpos.q2.CLICommand; 025import org.jpos.q2.CLIContext; 026 027/** CLI command that prints the bundled jPOS source license to the console. */ 028public class LICENSE implements CLICommand { 029 /** Default constructor; no instance state to initialise. */ 030 public LICENSE() {} 031 public void exec(CLIContext cli, String[] args) throws IOException { 032 InputStream input = new BufferedInputStream(getClass().getResourceAsStream("/JPOS_LICENSE")); 033 try { 034 display(cli, input); 035 } finally { 036 input.close(); 037 } 038 cli.println(""); 039 } 040 041 private void display(CLIContext cli, InputStream is) throws IOException { 042 if (is != null) { 043 while (is.available() > 0) { 044 byte[] b = new byte[is.available()]; 045 is.read(b); 046 cli.print(new String(b, "ISO8859_1")); 047 } 048 } 049 } 050}