Por que usar a HierarchicalMap?
"Typically a model will refer only to some aspects of the phenomenon in question, and two models of the same phenomenon may be essentially different, that is in which the difference is more than just a simple renaming." (definition of "Model" as of Wikipedia May, 16th 2006)
Em tradução livre, o texto acima diz: "Tipicamente, um modelo refere-se apenas a alguns aspectos do fenômeno em questão, e dois modelos de um mesmo fenômeno pode ser essencialmente diferente, e esta diferença pode ser mais do que uma simples renomeação."
Abordagem orientado a objetos é muito adequado para modelagem de sistema. Não temos dúvidas em incentivar o uso deste modelo, no entanto esta abordagem possui alguns pontos de atenção para integração de sistemas.
É tudo maravilhoso enquanto o sistema é inteiramente desenvolvido por uma equipe, porém, quando houver a necessidade de integrar com um outro sistema, desenvolvido por um outro grupo, surge a necessidade de troca de objetos. Neste momento, é muito provável que os objetos sejam distintos, entre sistemas, mesmo que represente um mesmo fenômeno da vida real (ex: Endereço de Residência).
Assim, veio o XML para simplificar esta troca de informações, mas em geral, o que está sendo trocado são somente os dados. A utilização do XML implica em extrair os dados do objeto fonte, tranformar os dados para texto no formato XML e enviar para o destino. O lado que recebe, precisa interpretar o XML, converter para o formato nativo e "alimentar" o objeto destino.
A vantagem da HierarchicalMap é a possibilidade de manipular estes dados nativamente por java ou por .Net, sem a necessidade de converter para um formato legível para um ser humano(texto), nas situações onde não há intervenção manual.
Experimente!
Em todo caso, ao invés de prolongar esta discussão, tentando legitimar a existência deste projeto, encare como sendo mais uma estrutura de dados, que permite representar informações organizadas em hierarquia, utilizando como chave o formato de caminhos, utilizados em sistemas operacionais, para encontrar arquivos em diretórios.
Experimente utilizar a HierarchicalMap quando esta interface lhe parecer útil para solucionar o seu problema. Ficaremos muito contente se nos contar a sua experiência ou encaminhar opniões e sugestões referentes a esta interface.
Dê uma olhada no Tutorial para conhecer melhor a interface HierarchicalMap.