Vc poderia usar a classe Properties e deixar esses caminhos em arquivos de configuração, havendo necessidade de mudança basta mudar o arquivo properties.
Pode não ser a melhor solução, mas uma das alternativas é vc fazer o seguinte:
para achar se o path é:
sabendo que o path atual está em um string, vc pode varre o string de trás para frente até achar n “/”, onde n é igual ao numero de barras do semi path que vc quer, aí vc verifica a posição da ultima e faz:
String pathParcial = "/LEVEL/RECORD/HEADING";
// acha o numero de barras no path parcial
int numBarras = achaNumeroDeBarras(pathParcial);
// acha o posição da barra x no seu path (de tras pra frente)
int posBarraX = achaBarraX(meuPath, numBarras);
if (meuPath.subString(posBarraX, meuString.length()).equals(pathParcial))
system.out.println("path final encontrado");
talvez resolva…
ve se era isso mesmo que vc queria, se naum podemos tentar outra coisa
Talvez o meu exemplo não foi muito claro…
Por exemplo:
No meu arquivo xml, eu tenho essa tag:
<outline><Ementa><Texto>Aprova o Regulamento do Imposto sobre Operações Relativas à Circulação de Mercadorias e sobre Prestações de Serviços de Transporte Interestadual e Intermunicipal e de Comunicação - <k2:xref><k2:xrefin xlink:type=“simple” xlink:label=“ES-ES+D+1090-R+2002” k2:destElementId=“ES-ES+D+1090-R+2002” k2:destDoctype=“Legislation” xlink:href=“ES-ES+D+1090-R+2002” xlink:actuate=“onrequest” k2:istitle=“T”>RICMS/ES</k2:xrefin></k2:xref> -, que consolida e atualiza a legislação do imposto e dá outras providências.</Texto></Ementa></outline>
Na verdade, eu preciso “varrer” o conteúdo dentro dessa tag outline…
Eu não quero delimitar o caminho… preciso armazenar todo o conteúdo e passar para um método.
Nao sei se entendí, mas vc precisa somente da tag outline e das suas filhas ?
Se for isso vc pode usar XPATH. Não sei se da pra fazer com SAX, mas com DOM dá, ficaria algo como:
Se vc for fazer com SAX, é só vc armazenar tudo a partir do momento q vc encontrou a tag outline (startElement), e parar de armazenar qdo evento endElement para a tag outline for chamado.
public class EncontradorDeCaminho {
@StartElement
public void executarAlgo(@CurrentBrunch String brunch, @AttributeMap Map mapaDeAtributos){
if(brunch.endsWith("/LEVEL/RECORD/HEADING")){
//usar aqui o mapa de atributos para acessar os atributos
}
}
}