powered by Jive Software

Smack 4.4.0-alpha3: method prelude() has scope protected and is inaccessible to app local xep standards implementations not found in smack

smack 4.4.0-alpha3 has changed the scope for method

protected XmlStringBuilder prelude(String elementName, String namespace)

to protected; and is inaccessible to aTalk local xep standard implementation. Appreciate if smack team would consider to expose this method as public so it is accessible to any application that wants to implement other XEP standards not found in smack.

   protected XmlStringBuilder prelude(String elementName, String namespace) {
        halfOpenElement(elementName);
        xmlnsAttribute(namespace);
        return this;
    }

Most of the aTalk smack features implement ExtensionElement; found the way not calling the prelude method i.e.

        XmlStringBuilder xml = new XmlStringBuilder();
        xml.prelude(ELEMENT, NAMESPACE);

can be replaced with:

        XmlStringBuilder xml = new XmlStringBuildert(this);

please ignore my request.

Correct, I was just about to write that the rationale for reducing the visibility of prelude() is that the particular XmlStringBuilder constructor should be used instead.

1 Like