protected void firePseudoAttributes ( ) { if ( m_tracer != null ) { try { // flush out the "<elemName" if not already flushed m_writer . flush ( ) ; // make a StringBuffer to write the name="value" pairs to. StringBuffer sb = new StringBuffer ( ) ; int nAttrs = m_attributes . getLength ( ) ; if ( nAttrs > 0 ) { // make a writer that internally appends to the same // StringBuffer java . io . Writer writer = new ToStream . WritertoStringBuffer ( sb ) ; processAttributes ( writer , nAttrs ) ; // Don't clear the attributes! // We only want to see what would be written out // at this point, we don't want to loose them. } sb . append ( ' ' ) ; // the potential > after the attributes. // convert the StringBuffer to a char array and // emit the trace event that these characters "might" // be written char ch [ ] = sb . toString ( ) . toCharArray ( ) ; m_tracer . fireGenerateEvent ( SerializerTrace . EVENTTYPE_OUTPUT_PSEUDO_CHARACTERS , ch , 0 , ch . length ) ; } catch ( IOException ioe ) { // ignore ? } catch ( SAXException se ) { // ignore ? } } }
To fire off the pseudo characters of attributes as they currently exist . This method should be called everytime an attribute is added or when an attribute value is changed or an element is created .