@Override public void writePath(final Writer w,final String path,final int rootDepth) throws IOException {
  final String[] a=path.split(ps);
  if (rootDepth == 0) {
    w.write("<a href=\"" + model.getRequestURL(new URLQueryParam[]{new URLQueryParam(URLQueryModel.PATH,ps)}) + "\">");
    w.write(ps);
    w.write("</a>");
  }
  final StringBuilder sb=new StringBuilder(ps);
  for (int n=1; n < a.length; n++) {
    final String name=a[n];
    if (n > 1) {
      if ((n + 1) > rootDepth) {
        w.write("&nbsp;");
        w.write(ps);
      }
      sb.append(ps);
    }
    final String prefix=sb.toString();
    sb.append(name);
    if ((n + 1) > rootDepth) {
      if (rootDepth != 0 && n == rootDepth) {
        w.write("<a href=\"" + model.getRequestURL(new URLQueryParam[]{new URLQueryParam(URLQueryModel.PATH,prefix)}) + "\">");
        w.write("...");
        w.write("</a>");
        w.write("&nbsp;" + ps);
      }
      w.write("&nbsp;");
      w.write("<a href=\"" + model.getRequestURL(new URLQueryParam[]{new URLQueryParam(URLQueryModel.PATH,sb.toString())}) + "\">");
      w.write(cdata(name));
      w.write("</a>");
    }
  }
}

@ Override public void writePath ( final Writer w , final String path , final int rootDepth ) throws IOException { final String [ ] a = path . split ( ps ) ; if ( rootDepth == 0 ) { w . write ( "<a href=\"" + model . getRequestURL ( new URLQueryParam [ ] { new URLQueryParam ( URLQueryModel . PATH , ps ) } ) + "\">" ) ; w . write ( ps ) ; w . write ( "</a>" ) ; } final StringBuilder sb = new StringBuilder ( ps ) ; for ( int n = 1 ; n < a . length ; n ++ ) { final String name = a [ n ] ; if ( n > 1 ) { if ( ( n + 1 ) > rootDepth ) { w . write ( "&nbsp;" ) ; w . write ( ps ) ; } sb . append ( ps ) ; } final String prefix = sb . toString ( ) ; sb . append ( name ) ; if ( ( n + 1 ) > rootDepth ) { if ( rootDepth != 0 && n == rootDepth ) { w . write ( "<a href=\"" + model . getRequestURL ( new URLQueryParam [ ] { new URLQueryParam ( URLQueryModel . PATH , prefix ) } ) + "\">" ) ; w . write ( "..." ) ; w . write ( "</a>" ) ; w . write ( "&nbsp;" + ps ) ; } w . write ( "&nbsp;" ) ; w . write ( "<a href=\"" + model . getRequestURL ( new URLQueryParam [ ] { new URLQueryParam ( URLQueryModel . PATH , sb . toString ( ) ) } ) + "\">" ) ; w . write ( cdata ( name ) ) ; w . write ( "</a>" ) ; } } }
a clickable trail of the path .
