Método com retorno de vetor

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?

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

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

Exemplo: [code]class Classe {

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

// getters e setters

}[/code][code]class Metodo {

private String nome;
private Visibilidade visibilidade;

// getters e setters

}[/code][code]class Atributo {

private String nome;
private Visibilidade visibilidade;

// getters e setters

}[/code][code]public Classe montarClasse(){

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

return classe;

}[/code]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