All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.joseflavio.copaiba.Assistente Maven / Gradle / Ivy

The newest version!

/*
 *  Copyright (C) 2016-2020 José Flávio de Souza Dias Júnior
 *  
 *  This file is part of Copaíba - .
 *  
 *  Copaíba is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU Lesser General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *  
 *  Copaíba is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 *  GNU Lesser General Public License for more details.
 *  
 *  You should have received a copy of the GNU Lesser General Public License
 *  along with Copaíba. If not, see .
 */

/*
 *  Direitos Autorais Reservados (C) 2016-2020 José Flávio de Souza Dias Júnior
 * 
 *  Este arquivo é parte de Copaíba - .
 * 
 *  Copaíba é software livre: você pode redistribuí-lo e/ou modificá-lo
 *  sob os termos da Licença Pública Menos Geral GNU conforme publicada pela
 *  Free Software Foundation, tanto a versão 3 da Licença, como
 *  (a seu critério) qualquer versão posterior.
 * 
 *  Copaíba é distribuído na expectativa de que seja útil,
 *  porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de
 *  COMERCIABILIDADE ou ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a
 *  Licença Pública Menos Geral do GNU para mais detalhes.
 * 
 *  Você deve ter recebido uma cópia da Licença Pública Menos Geral do GNU
 *  junto com Copaíba. Se não, veja .
 */

package com.joseflavio.copaiba;

import java.net.URL;

/**
 * Assistente de programação remota.
 * @author José Flávio de Souza Dias Júnior
 */
public interface Assistente {
	
	/**
	 * Nome completo de classes acessíveis por {@link CopaibaConexao},
	 * não se restringindo apenas a {@link Class}'s.
* Exemplos:
*
	 * java.lang.String
	 * java.util.Arrays
	 * 
*/ String[] getClasses(); /** * Verifica se a classe indicada está entre as {@link #getClasses()}. */ boolean contemClasse( String classe ); /** * Membros de um classe, incluindo herança: atributos, métodos, classes internas, etc.
* Exemplos da classe {@link java.lang.String}:
*
	 * java.lang.String@CASE_INSENSITIVE_ORDER
	 * java.lang.String#String(char[],int,int)
	 * java.lang.String#contains(java.lang.CharSequence)
	 * java.lang.String#format(java.util.Locale,java.lang.String,java.lang.Object...)
	 * java.lang.Object#notify()
	 * 

* Divisores possíveis:
*
	 * @ = atributo
	 * # = método
	 * & = classe interna
	 * 
* @param classe Nome completo da classe, conforme padrão {@link Class#getName()}. * @return null, caso a classe não seja encontrada. * @see #getClasses() */ String[] getMembros( String classe ); /** * {@link URL} da documentação de um componente do sistema. * @param componente Identificação do componente. Formatos possíveis: {@link #getClasses()} e {@link #getMembros(String)}. * @return null, caso inexista a documentação ou o componente. */ URL getDocumentacao( String componente ); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy