Método com retorno de vetor

3 respostas
R

Boa noite, possuo um método que busca informações e grava em vetores, gostaria de obter um retorno de todos os vetores no método:

public String[] getAllTest(IProject project) throws JavaModelException{
		
		IJavaProject javaProject = JavaCore.create(project);
		IPackageFragment[] packages = javaProject.getPackageFragments();
		
                // pacages[] vetor pacotoes;

		for(IPackageFragment mypackage : packages){
			if(mypackage.getKind() == IPackageFragmentRoot.K_SOURCE){
															
				for(ICompilationUnit unit : mypackage.getCompilationUnits()){
					
					  IType[] allTypes = unit.getAllTypes();
					    for (IType type : allTypes) {
					    	
                                                  // allTypes[] vetor classes;

						IMethod[] methods = type.getMethods();
					    	IField[] fields = type.getFields();

                                                  // methods[] vetor metodos;
                                                  // fields[] vetor campos;
					    	
						for (IMetodo method : methods) {
					    		
					    	}
					    	
						for (IField field : fields){
					    		
					    	}
					    }
				}
			}
		}
		
		return arrayDados;
	}

Gostaria de retornar algo do tipo: [Projeto][Pacote][Class[Método][Atributo]];

Alguma luz?

3 Respostas

Rodrigo_Sasaki

Por que você não cria objetos pra tudo isso e retorna o objeto maior como resultado?

Ficar trabalhando com vetores assim é muito complicado e deixa tudo muito difícil de entender

R

Rodrigo, boa tarde! Como posso fazer isso? poderia me dar um exemplo?

Rodrigo_Sasaki
Exemplo:
class Classe {

    private List<Metodo> metodos;
    private List<Atributo> atributos;

    // getters e setters

}
class Metodo {

    private String nome;
    private Visibilidade visibilidade;

    // getters e setters

}
class Atributo {

    private String nome;
    private Visibilidade visibilidade;

    // getters e setters

}
public Classe montarClasse(){

    Classe classe = new Classe();
    classe.adicionarMetodo(new Metodo("imprimir", Visibilidade.PUBLICO);
    classe.adicionarAtributo(new Atributo("codigo", Visibilidade.PRIVADO);

    return classe;

}
Se eu entendi direito é mais ou menos isso que você precisa, não é? claro que teria muito mais informação aí, mas isso é só pra te dar uma ideia
Criado 12 de abril de 2015
Ultima resposta 14 de abr. de 2015
Respostas 3
Participantes 2