mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-09-09 17:19:39 +02:00
Delete APIs scheduled for removal with Smack 4.5
This commit is contained in:
parent
af77e561c5
commit
4a101e2c99
38 changed files with 39 additions and 1534 deletions
|
@ -1,51 +0,0 @@
|
|||
/**
|
||||
*
|
||||
* Copyright 2009 the original author or authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.jivesoftware.smack;
|
||||
|
||||
/**
|
||||
* The AbstractConnectionListener class provides an empty implementation for all
|
||||
* methods defined by the {@link ConnectionListener} interface. This is a
|
||||
* convenience class which should be used in case you do not need to implement
|
||||
* all methods.
|
||||
*
|
||||
* @author Henning Staib
|
||||
* @deprecated use {@link ConnectionListener} instead.
|
||||
*/
|
||||
// TODO: Remove in Smack 4.5.
|
||||
@Deprecated
|
||||
public class AbstractConnectionListener implements ConnectionListener {
|
||||
@Override
|
||||
public void connected(XMPPConnection connection) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
@Override
|
||||
public void authenticated(XMPPConnection connection, boolean resumed) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
@Override
|
||||
public void connectionClosed() {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
@Override
|
||||
public void connectionClosedOnError(Exception e) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
}
|
|
@ -1242,27 +1242,6 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
|||
});
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
public void addStanzaInterceptor(StanzaListener packetInterceptor,
|
||||
StanzaFilter packetFilter) {
|
||||
if (packetInterceptor == null) {
|
||||
throw new NullPointerException("Packet interceptor is null.");
|
||||
}
|
||||
InterceptorWrapper interceptorWrapper = new InterceptorWrapper(packetInterceptor, packetFilter);
|
||||
synchronized (interceptors) {
|
||||
interceptors.put(packetInterceptor, interceptorWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
public void removeStanzaInterceptor(StanzaListener packetInterceptor) {
|
||||
synchronized (interceptors) {
|
||||
interceptors.remove(packetInterceptor);
|
||||
}
|
||||
}
|
||||
|
||||
private static <MPB extends MessageOrPresenceBuilder<MP, MPB>, MP extends MessageOrPresence<MPB>> void addInterceptor(
|
||||
Map<Consumer<MPB>, GenericInterceptorWrapper<MPB, MP>> interceptors, Consumer<MPB> interceptor,
|
||||
Predicate<MP> filter) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
*
|
||||
* Copyright 2003-2007 Jive Software, 2017-2022 Florian Schmaus.
|
||||
* Copyright 2003-2007 Jive Software, 2017-2024 Florian Schmaus.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -857,22 +857,6 @@ public abstract class ConnectionConfiguration {
|
|||
return getThis();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the host to connect to by either its fully qualified domain name (FQDN) or its IP.
|
||||
*
|
||||
* @param fqdnOrIp a CharSequence either representing the FQDN or the IP of the host.
|
||||
* @return a reference to this builder.
|
||||
* @see #setHost(DnsName)
|
||||
* @see #setHostAddress(InetAddress)
|
||||
* @since 4.3.2
|
||||
* @deprecated use {@link #setHost(CharSequence)} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public B setHostAddressByNameOrIp(CharSequence fqdnOrIp) {
|
||||
return setHost(fqdnOrIp);
|
||||
}
|
||||
|
||||
public B setPort(int port) {
|
||||
if (port < 0 || port > 65535) {
|
||||
throw new IllegalArgumentException(
|
||||
|
@ -1021,25 +1005,6 @@ public abstract class ConnectionConfiguration {
|
|||
return getThis();
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a custom SSLContext for creating SSL sockets.
|
||||
* <p>
|
||||
* For more information on how to create a SSLContext see <a href=
|
||||
* "http://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#X509TrustManager"
|
||||
* >Java Secure Socket Extension (JSEE) Reference Guide: Creating Your Own X509TrustManager</a>
|
||||
*
|
||||
* @param context the custom SSLContext for new sockets.
|
||||
* @return a reference to this builder.
|
||||
* @deprecated use {@link #setSslContextFactory(SslContextFactory)} instead}.
|
||||
*/
|
||||
// TODO: Remove in Smack 4.5.
|
||||
@Deprecated
|
||||
public B setCustomSSLContext(SSLContext context) {
|
||||
return setSslContextFactory(() -> {
|
||||
return context;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a custom SSLContext for creating SSL sockets.
|
||||
* <p>
|
||||
|
@ -1186,7 +1151,9 @@ public abstract class ConnectionConfiguration {
|
|||
if (!SASLAuthentication.isSaslMechanismRegistered(SASLMechanism.EXTERNAL)) {
|
||||
throw new IllegalArgumentException("SASL " + SASLMechanism.EXTERNAL + " is not registered");
|
||||
}
|
||||
setCustomSSLContext(sslContext);
|
||||
setSslContextFactory(() -> {
|
||||
return sslContext;
|
||||
});
|
||||
throwIfEnabledSaslMechanismsSet();
|
||||
|
||||
allowEmptyOrNullUsernames();
|
||||
|
|
|
@ -27,12 +27,6 @@ import org.jivesoftware.smack.packet.Stanza;
|
|||
* the {@link #processStanza(Stanza)} method will be called. This is the
|
||||
* opposite approach to the functionality provided by a {@link StanzaCollector}
|
||||
* which lets you block while waiting for results.
|
||||
* <p>
|
||||
* Additionally you are able to intercept Packets that are going to be send and
|
||||
* make modifications to them. You can register a PacketListener as interceptor
|
||||
* by using {@link XMPPConnection#addStanzaInterceptor(StanzaListener,
|
||||
* org.jivesoftware.smack.filter.StanzaFilter)}
|
||||
* </p>
|
||||
*
|
||||
* @see XMPPConnection#addAsyncStanzaListener(StanzaListener, org.jivesoftware.smack.filter.StanzaFilter)
|
||||
* @author Matt Tucker
|
||||
|
|
|
@ -423,7 +423,6 @@ public interface XMPPConnection {
|
|||
*
|
||||
* @param stanzaListener the stanza listener to notify of new received stanzas.
|
||||
* @param stanzaFilter the stanza filter to use.
|
||||
* @see #addStanzaInterceptor(StanzaListener, StanzaFilter)
|
||||
* @since 4.1
|
||||
*/
|
||||
void addSyncStanzaListener(StanzaListener stanzaListener, StanzaFilter stanzaFilter);
|
||||
|
@ -449,7 +448,6 @@ public interface XMPPConnection {
|
|||
*
|
||||
* @param stanzaListener the stanza listener to notify of new received stanzas.
|
||||
* @param stanzaFilter the stanza filter to use.
|
||||
* @see #addStanzaInterceptor(StanzaListener, StanzaFilter)
|
||||
* @since 4.1
|
||||
*/
|
||||
void addAsyncStanzaListener(StanzaListener stanzaListener, StanzaFilter stanzaFilter);
|
||||
|
@ -483,34 +481,6 @@ public interface XMPPConnection {
|
|||
*/
|
||||
void removeStanzaSendingListener(StanzaListener stanzaListener);
|
||||
|
||||
/**
|
||||
* Registers a stanza interceptor with this connection. The interceptor will be
|
||||
* invoked every time a stanza is about to be sent by this connection. Interceptors
|
||||
* may modify the stanza to be sent. A stanza filter determines which stanzas
|
||||
* will be delivered to the interceptor.
|
||||
*
|
||||
* <p>
|
||||
* NOTE: For a similar functionality on incoming stanzas, see {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)}.
|
||||
* </p>
|
||||
*
|
||||
* @param stanzaInterceptor the stanza interceptor to notify of stanzas about to be sent.
|
||||
* @param stanzaFilter the stanza filter to use.
|
||||
* @deprecated use {@link #addMessageInterceptor(Consumer, Predicate)} or {@link #addPresenceInterceptor(Consumer, Predicate)} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
void addStanzaInterceptor(StanzaListener stanzaInterceptor, StanzaFilter stanzaFilter);
|
||||
|
||||
/**
|
||||
* Removes a stanza interceptor.
|
||||
*
|
||||
* @param stanzaInterceptor the stanza interceptor to remove.
|
||||
* @deprecated use {@link #removeMessageInterceptor(Consumer)} or {@link #removePresenceInterceptor(Consumer)} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
void removeStanzaInterceptor(StanzaListener stanzaInterceptor);
|
||||
|
||||
/**
|
||||
* Registers a stanza interceptor with this connection. The interceptor will be
|
||||
* invoked every time a stanza is about to be sent by this connection. Interceptors
|
||||
|
@ -611,23 +581,6 @@ public interface XMPPConnection {
|
|||
*/
|
||||
FromMode getFromMode();
|
||||
|
||||
/**
|
||||
* Get the feature stanza extensions for a given stream feature of the
|
||||
* server, or <code>null</code> if the server doesn't support that feature.
|
||||
*
|
||||
* @param <F> {@link ExtensionElement} type of the feature.
|
||||
* @param element TODO javadoc me please
|
||||
* @param namespace TODO javadoc me please
|
||||
* @return a stanza extensions of the feature or <code>null</code>
|
||||
* @deprecated use {@link #getFeature(Class)} instead.
|
||||
*/
|
||||
// TODO: Remove in Smack 4.5.
|
||||
@Deprecated
|
||||
default <F extends XmlElement> F getFeature(String element, String namespace) {
|
||||
QName qname = new QName(namespace, element);
|
||||
return getFeature(qname);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the feature stanza extensions for a given stream feature of the
|
||||
* server, or <code>null</code> if the server doesn't support that feature.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
*
|
||||
* Copyright © 2017-2019 Florian Schmaus
|
||||
* Copyright © 2017-2024 Florian Schmaus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -54,15 +54,4 @@ public abstract class AbstractTextElement implements ExtensionElement {
|
|||
return lang;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deprecated.
|
||||
*
|
||||
* @return deprecated
|
||||
* @deprecated use {@link #getLanguage()} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public final String getLang() {
|
||||
return lang;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -287,20 +287,6 @@ public abstract class IQ extends Stanza implements IqView {
|
|||
return ErrorIQ.createErrorResponse(request, error);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deprecated.
|
||||
*
|
||||
* @param request the request.
|
||||
* @param error the error.
|
||||
* @return an error IQ.
|
||||
* @deprecated use {@link #createErrorResponse(IQ, StanzaError)} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public static ErrorIQ createErrorResponse(final IQ request, final StanzaError.Builder error) {
|
||||
return createErrorResponse(request, error.build());
|
||||
}
|
||||
|
||||
public static ErrorIQ createErrorResponse(final IQ request, final StanzaError.Condition condition) {
|
||||
return createErrorResponse(request, StanzaError.getBuilder(condition).build());
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
|
||||
package org.jivesoftware.smack.packet;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
|
@ -29,10 +28,6 @@ import org.jivesoftware.smack.util.Objects;
|
|||
import org.jivesoftware.smack.util.StringUtils;
|
||||
import org.jivesoftware.smack.util.XmlStringBuilder;
|
||||
|
||||
import org.jxmpp.jid.Jid;
|
||||
import org.jxmpp.jid.impl.JidCreate;
|
||||
import org.jxmpp.stringprep.XmppStringprepException;
|
||||
|
||||
/**
|
||||
* Represents XMPP message packets. A message can be one of several types:
|
||||
*
|
||||
|
@ -63,85 +58,7 @@ public final class Message extends MessageOrPresence<MessageBuilder>
|
|||
public static final String ELEMENT = "message";
|
||||
public static final String BODY = "body";
|
||||
|
||||
private Type type;
|
||||
|
||||
/**
|
||||
* Creates a new, "normal" message.
|
||||
* @deprecated use {@link StanzaBuilder}, preferable via {@link StanzaFactory}, instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public Message() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new "normal" message to the specified recipient.
|
||||
*
|
||||
* @param to the recipient of the message.
|
||||
* @deprecated use {@link StanzaBuilder}, preferable via {@link StanzaFactory}, instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public Message(Jid to) {
|
||||
setTo(to);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new message of the specified type to a recipient.
|
||||
*
|
||||
* @param to the user to send the message to.
|
||||
* @param type the message type.
|
||||
* @deprecated use {@link StanzaBuilder}, preferable via {@link StanzaFactory}, instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public Message(Jid to, Type type) {
|
||||
this(to);
|
||||
setType(type);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new message to the specified recipient and with the specified body.
|
||||
*
|
||||
* @param to the user to send the message to.
|
||||
* @param body the body of the message.
|
||||
* @deprecated use {@link StanzaBuilder}, preferable via {@link StanzaFactory}, instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public Message(Jid to, String body) {
|
||||
this(to);
|
||||
setBody(body);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new message to the specified recipient and with the specified body.
|
||||
*
|
||||
* @param to the user to send the message to.
|
||||
* @param body the body of the message.
|
||||
* @throws XmppStringprepException if 'to' is not a valid XMPP address.
|
||||
* @deprecated use {@link StanzaBuilder}, preferable via {@link StanzaFactory}, instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public Message(String to, String body) throws XmppStringprepException {
|
||||
this(JidCreate.from(to), body);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new message with the specified recipient and extension element.
|
||||
*
|
||||
* @param to TODO javadoc me please
|
||||
* @param extensionElement TODO javadoc me please
|
||||
* @since 4.2
|
||||
* @deprecated use {@link StanzaBuilder}, preferable via {@link StanzaFactory}, instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public Message(Jid to, ExtensionElement extensionElement) {
|
||||
this(to);
|
||||
addExtension(extensionElement);
|
||||
}
|
||||
private final Type type;
|
||||
|
||||
Message(MessageBuilder messageBuilder) {
|
||||
super(messageBuilder);
|
||||
|
@ -170,197 +87,6 @@ public final class Message extends MessageOrPresence<MessageBuilder>
|
|||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the type of the message.
|
||||
*
|
||||
* @param type the type of the message.
|
||||
* @deprecated use {@link StanzaBuilder} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public void setType(Type type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the subject of the message. The subject is a short description of
|
||||
* message contents.
|
||||
*
|
||||
* @param subject the subject of the message.
|
||||
* @deprecated use {@link StanzaBuilder} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove when stanza builder is ready.
|
||||
public void setSubject(String subject) {
|
||||
if (subject == null) {
|
||||
removeSubject(""); // use empty string because #removeSubject(null) is ambiguous
|
||||
return;
|
||||
}
|
||||
addSubject(null, subject);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a subject with a corresponding language.
|
||||
*
|
||||
* @param language the language of the subject being added.
|
||||
* @param subject the subject being added to the message.
|
||||
* @return the new {@link org.jivesoftware.smack.packet.Message.Subject}
|
||||
* @throws NullPointerException if the subject is null, a null pointer exception is thrown
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove when stanza builder is ready.
|
||||
public Subject addSubject(String language, String subject) {
|
||||
language = Stanza.determineLanguage(this, language);
|
||||
|
||||
List<Subject> currentSubjects = getExtensions(Subject.class);
|
||||
for (Subject currentSubject : currentSubjects) {
|
||||
if (language.equals(currentSubject.getLanguage())) {
|
||||
throw new IllegalArgumentException("Subject with the language " + language + " already exists");
|
||||
}
|
||||
}
|
||||
|
||||
Subject messageSubject = new Subject(language, subject);
|
||||
addExtension(messageSubject);
|
||||
return messageSubject;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes the subject with the given language from the message.
|
||||
*
|
||||
* @param language the language of the subject which is to be removed
|
||||
* @return true if a subject was removed and false if it was not.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove when stanza builder is ready.
|
||||
public boolean removeSubject(String language) {
|
||||
language = Stanza.determineLanguage(this, language);
|
||||
for (Subject subject : getExtensions(Subject.class)) {
|
||||
if (language.equals(subject.language)) {
|
||||
return removeSubject(subject);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes the subject from the message and returns true if the subject was removed.
|
||||
*
|
||||
* @param subject the subject being removed from the message.
|
||||
* @return true if the subject was successfully removed and false if it was not.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove when stanza builder is ready.
|
||||
public boolean removeSubject(Subject subject) {
|
||||
return removeExtension(subject) != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the body of the message.
|
||||
*
|
||||
* @param body the body of the message.
|
||||
* @see #setBody(String)
|
||||
* @since 4.2
|
||||
* @deprecated use {@link StanzaBuilder} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove when stanza builder is ready.
|
||||
public void setBody(CharSequence body) {
|
||||
String bodyString;
|
||||
if (body != null) {
|
||||
bodyString = body.toString();
|
||||
} else {
|
||||
bodyString = null;
|
||||
}
|
||||
setBody(bodyString);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the body of the message. The body is the main message contents.
|
||||
*
|
||||
* @param body the body of the message.
|
||||
* @deprecated use {@link StanzaBuilder} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove when stanza builder is ready.
|
||||
public void setBody(String body) {
|
||||
if (body == null) {
|
||||
removeBody(""); // use empty string because #removeBody(null) is ambiguous
|
||||
return;
|
||||
}
|
||||
addBody(null, body);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a body with a corresponding language.
|
||||
*
|
||||
* @param language the language of the body being added.
|
||||
* @param body the body being added to the message.
|
||||
* @return the new {@link org.jivesoftware.smack.packet.Message.Body}
|
||||
* @throws NullPointerException if the body is null, a null pointer exception is thrown
|
||||
* @since 3.0.2
|
||||
* @deprecated use {@link StanzaBuilder} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove when stanza builder is ready.
|
||||
public Body addBody(String language, String body) {
|
||||
language = Stanza.determineLanguage(this, language);
|
||||
|
||||
removeBody(language);
|
||||
|
||||
Body messageBody = new Body(language, body);
|
||||
addExtension(messageBody);
|
||||
return messageBody;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes the body with the given language from the message.
|
||||
*
|
||||
* @param language the language of the body which is to be removed
|
||||
* @return true if a body was removed and false if it was not.
|
||||
* @deprecated use {@link StanzaBuilder} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove when stanza builder is ready.
|
||||
public boolean removeBody(String language) {
|
||||
language = Stanza.determineLanguage(this, language);
|
||||
for (Body body : getBodies()) {
|
||||
String bodyLanguage = body.getLanguage();
|
||||
if (Objects.equals(bodyLanguage, language)) {
|
||||
removeExtension(body);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes the body from the message and returns true if the body was removed.
|
||||
*
|
||||
* @param body the body being removed from the message.
|
||||
* @return true if the body was successfully removed and false if it was not.
|
||||
* @since 3.0.2
|
||||
* @deprecated use {@link StanzaBuilder} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove when stanza builder is ready.
|
||||
public boolean removeBody(Body body) {
|
||||
XmlElement removedElement = removeExtension(body);
|
||||
return removedElement != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the thread id of the message, which is a unique identifier for a sequence
|
||||
* of "chat" messages.
|
||||
*
|
||||
* @param thread the thread id of the message.
|
||||
* @deprecated use {@link StanzaBuilder} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove when stanza builder is ready.
|
||||
public void setThread(String thread) {
|
||||
addExtension(new Message.Thread(thread));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getElementName() {
|
||||
return ELEMENT;
|
||||
|
@ -412,22 +138,6 @@ public final class Message extends MessageOrPresence<MessageBuilder>
|
|||
return buf;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and returns a copy of this message stanza.
|
||||
* <p>
|
||||
* This does not perform a deep clone, as extension elements are shared between the new and old
|
||||
* instance.
|
||||
* </p>
|
||||
* @return a clone of this message.
|
||||
* @deprecated use {@link #asBuilder()} instead.
|
||||
*/
|
||||
// TODO: Remove in Smack 4.5.
|
||||
@Deprecated
|
||||
@Override
|
||||
public Message clone() {
|
||||
return new Message(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a message subject, its language and the content of the subject.
|
||||
*/
|
||||
|
|
|
@ -20,11 +20,6 @@ import org.jivesoftware.smack.XMPPConnection;
|
|||
|
||||
public abstract class MessageOrPresence<MPB extends MessageOrPresenceBuilder<?, ?>> extends Stanza {
|
||||
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
protected MessageOrPresence() {
|
||||
}
|
||||
|
||||
protected MessageOrPresence(StanzaBuilder<?> stanzaBuilder) {
|
||||
super(stanzaBuilder);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
*
|
||||
* Copyright 2003-2007 Jive Software, 2020-2021 Florian Schmaus.
|
||||
* Copyright 2003-2007 Jive Software, 2020-2024 Florian Schmaus.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -21,12 +21,9 @@ import java.util.List;
|
|||
import java.util.Locale;
|
||||
|
||||
import org.jivesoftware.smack.XMPPConnection;
|
||||
import org.jivesoftware.smack.util.Objects;
|
||||
import org.jivesoftware.smack.util.StringUtils;
|
||||
import org.jivesoftware.smack.util.XmlStringBuilder;
|
||||
|
||||
import org.jxmpp.jid.Jid;
|
||||
|
||||
/**
|
||||
* Represents XMPP presence stanzas. Every presence stanza has a type, which is one of
|
||||
* the following values:
|
||||
|
@ -78,55 +75,6 @@ public final class Presence extends MessageOrPresence<PresenceBuilder>
|
|||
|
||||
private Mode mode = null;
|
||||
|
||||
/**
|
||||
* Creates a new presence update. Status, priority, and mode are left un-set.
|
||||
*
|
||||
* @param type the type.
|
||||
* @deprecated use {@link PresenceBuilder} or {@link org.jivesoftware.smack.XMPPConnection#getStanzaFactory} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public Presence(Type type) {
|
||||
// Ensure that the stanza ID is set by calling super().
|
||||
super();
|
||||
setType(type);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new presence with the given type and using the given XMPP address as recipient.
|
||||
*
|
||||
* @param to the recipient.
|
||||
* @param type the type.
|
||||
* @since 4.2
|
||||
* @deprecated use {@link PresenceBuilder} or {@link org.jivesoftware.smack.XMPPConnection#getStanzaFactory} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public Presence(Jid to, Type type) {
|
||||
this(type);
|
||||
setTo(to);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new presence update with a specified status, priority, and mode.
|
||||
*
|
||||
* @param type the type.
|
||||
* @param status a text message describing the presence update.
|
||||
* @param priority the priority of this presence update.
|
||||
* @param mode the mode type for this presence update.
|
||||
* @deprecated use {@link PresenceBuilder} or {@link org.jivesoftware.smack.XMPPConnection#getStanzaFactory} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public Presence(Type type, String status, int priority, Mode mode) {
|
||||
// Ensure that the stanza ID is set by calling super().
|
||||
super();
|
||||
setType(type);
|
||||
setStatus(status);
|
||||
setPriority(priority);
|
||||
setMode(mode);
|
||||
}
|
||||
|
||||
Presence(PresenceBuilder presenceBuilder) {
|
||||
super(presenceBuilder);
|
||||
type = presenceBuilder.type;
|
||||
|
@ -186,36 +134,11 @@ public final class Presence extends MessageOrPresence<PresenceBuilder>
|
|||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the type of the presence packet.
|
||||
*
|
||||
* @param type the type of the presence packet.
|
||||
* @deprecated use {@link PresenceBuilder} or {@link org.jivesoftware.smack.XMPPConnection#getStanzaFactory} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public void setType(Type type) {
|
||||
this.type = Objects.requireNonNull(type, "Type cannot be null");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the status message of the presence update. The status is free-form text
|
||||
* describing a user's presence (i.e., "gone to lunch").
|
||||
*
|
||||
* @param status the status message.
|
||||
* @deprecated use {@link PresenceBuilder} or {@link org.jivesoftware.smack.XMPPConnection#getStanzaFactory} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPriority() {
|
||||
return getPriorityByte();
|
||||
|
@ -233,20 +156,11 @@ public final class Presence extends MessageOrPresence<PresenceBuilder>
|
|||
* Sets the priority of the presence. The valid range is -128 through 127.
|
||||
*
|
||||
* @param priority the priority of the presence.
|
||||
* @throws IllegalArgumentException if the priority is outside the valid range.
|
||||
* @see <a href="https://tools.ietf.org/html/rfc6121#section-4.7.2.3">RFC 6121 § 4.7.2.3. Priority Element</a>
|
||||
* @deprecated use {@link PresenceBuilder} or {@link org.jivesoftware.smack.XMPPConnection#getStanzaFactory} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public void setPriority(int priority) {
|
||||
if (priority < -128 || priority > 127) {
|
||||
throw new IllegalArgumentException("Priority value " + priority +
|
||||
" is not valid. Valid range is -128 through 127.");
|
||||
}
|
||||
setPriority((byte) priority);
|
||||
}
|
||||
|
||||
// TODO: Remove in Smack 4.6.
|
||||
public void setPriority(byte priority) {
|
||||
this.priority = priority;
|
||||
}
|
||||
|
@ -259,19 +173,6 @@ public final class Presence extends MessageOrPresence<PresenceBuilder>
|
|||
return mode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the mode of the presence update. A null presence mode value is interpreted
|
||||
* to be the same thing as {@link Presence.Mode#available}.
|
||||
*
|
||||
* @param mode the mode.
|
||||
* @deprecated use {@link PresenceBuilder} or {@link org.jivesoftware.smack.XMPPConnection#getStanzaFactory} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public void setMode(Mode mode) {
|
||||
this.mode = mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getElementName() {
|
||||
return ELEMENT;
|
||||
|
@ -346,37 +247,6 @@ public final class Presence extends MessageOrPresence<PresenceBuilder>
|
|||
return buf;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and returns a copy of this presence stanza.
|
||||
* <p>
|
||||
* This does not perform a deep clone, as extension elements are shared between the new and old
|
||||
* instance.
|
||||
* </p>
|
||||
* @return a clone of this presence.
|
||||
* @deprecated use {@link #asBuilder()} instead.
|
||||
*/
|
||||
// TODO: Remove in Smack 4.5.
|
||||
@Deprecated
|
||||
@Override
|
||||
public Presence clone() {
|
||||
return new Presence(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Clone this presence and set a newly generated stanza ID as the clone's ID.
|
||||
*
|
||||
* @return a "clone" of this presence with a different stanza ID.
|
||||
* @since 4.1.2
|
||||
* @deprecated use {@link #asBuilder(XMPPConnection)} or {@link #asBuilder(String)}instead.
|
||||
*/
|
||||
// TODO: Remove in Smack 4.5.
|
||||
@Deprecated
|
||||
public Presence cloneWithNewId() {
|
||||
Presence clone = clone();
|
||||
clone.setNewStanzaId();
|
||||
return clone;
|
||||
}
|
||||
|
||||
/**
|
||||
* An enum to represent the presence type. Note that presence type is often confused
|
||||
* with presence mode. Generally, if a user is signed in to a server, they have a presence
|
||||
|
|
|
@ -159,22 +159,6 @@ public abstract class Stanza implements StanzaView, TopLevelStreamElement {
|
|||
return id != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the stanza id if none is set.
|
||||
*
|
||||
* @return the stanza id.
|
||||
* @since 4.2
|
||||
* @deprecated use {@link StanzaBuilder} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public String setStanzaId() {
|
||||
if (!hasStanzaIdSet()) {
|
||||
setNewStanzaId();
|
||||
}
|
||||
return getStanzaId();
|
||||
}
|
||||
|
||||
/**
|
||||
* Throws an {@link IllegalArgumentException} if this stanza has no stanza ID set.
|
||||
*
|
||||
|
@ -255,34 +239,11 @@ public abstract class Stanza implements StanzaView, TopLevelStreamElement {
|
|||
error = stanzaError;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deprecated.
|
||||
* @param stanzaError the stanza error.
|
||||
* @deprecated use {@link StanzaBuilder} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public void setError(StanzaError.Builder stanzaError) {
|
||||
setError(stanzaError.build());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final String getLanguage() {
|
||||
return language;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the xml:lang of this Stanza.
|
||||
*
|
||||
* @param language the xml:lang of this Stanza.
|
||||
* @deprecated use {@link StanzaBuilder#setLanguage(String)} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public void setLanguage(String language) {
|
||||
this.language = language;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final List<XmlElement> getExtensions() {
|
||||
synchronized (extensionElements) {
|
||||
|
@ -374,22 +335,6 @@ public abstract class Stanza implements StanzaView, TopLevelStreamElement {
|
|||
return packetExtension;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is deprecated. Use preferably {@link #getExtension(Class)} or {@link #getExtensionElement(String, String)}.
|
||||
*
|
||||
* @param <E> the type to cast to.
|
||||
* @param elementName the XML element name of the extension. (May be null)
|
||||
* @param namespace the XML element namespace of the extension.
|
||||
* @return the extension, or <code>null</code> if it doesn't exist.
|
||||
* @deprecated use {@link #getExtension(Class)} or {@link #getExtensionElement(String, String)} instead.
|
||||
*/
|
||||
// TODO: Remove in Smack 4.5.
|
||||
@SuppressWarnings("unchecked")
|
||||
@Deprecated
|
||||
public final <E extends ExtensionElement> E getExtension(String elementName, String namespace) {
|
||||
return (E) getExtensionElement(elementName, namespace);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final XmlElement getExtension(QName qname) {
|
||||
synchronized (extensionElements) {
|
||||
|
@ -501,27 +446,6 @@ public abstract class Stanza implements StanzaView, TopLevelStreamElement {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes a stanza extension from the packet.
|
||||
*
|
||||
* @param extension the stanza extension to remove.
|
||||
* @return the removed stanza extension or null.
|
||||
* @deprecated use {@link StanzaBuilder} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public final XmlElement removeExtension(XmlElement extension) {
|
||||
QName key = extension.getQName();
|
||||
synchronized (extensionElements) {
|
||||
List<XmlElement> list = extensionElements.getAll(key);
|
||||
boolean removed = list.remove(extension);
|
||||
if (removed) {
|
||||
return extension;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a short String describing the Stanza. This method is suited for log purposes.
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
*
|
||||
* Copyright © 2015-2020 Florian Schmaus
|
||||
* Copyright © 2015-2024 Florian Schmaus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -18,18 +18,6 @@ package org.jivesoftware.smack.util;
|
|||
|
||||
public class NumberUtil {
|
||||
|
||||
/**
|
||||
* Checks if the given long is within the range of an unsigned 32-bit integer, the XML type "xs:unsignedInt".
|
||||
*
|
||||
* @param value TODO javadoc me please
|
||||
* @deprecated use {@link #requireUInt32(long)} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public static void checkIfInUInt32Range(long value) {
|
||||
requireUInt32(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the given long is within the range of an unsigned 32-bit integer, the XML type "xs:unsignedInt".
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
*
|
||||
* Copyright © 2014-2023 Florian Schmaus
|
||||
* Copyright © 2014-2024 Florian Schmaus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -23,8 +23,6 @@ import java.text.ParseException;
|
|||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
|
||||
import org.jivesoftware.smack.datatypes.UInt16;
|
||||
import org.jivesoftware.smack.datatypes.UInt32;
|
||||
import org.jivesoftware.smack.packet.XmlEnvironment;
|
||||
|
@ -367,19 +365,6 @@ public class ParserUtils {
|
|||
return parser.getAttributeValue("http://www.w3.org/XML/1998/namespace", "lang");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the QName of the current element.
|
||||
*
|
||||
* @param parser the parser.
|
||||
* @return the Qname.
|
||||
* @deprecated use {@link XmlPullParser#getQName()} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5
|
||||
public static QName getQName(XmlPullParser parser) {
|
||||
return parser.getQName();
|
||||
}
|
||||
|
||||
public static InternetAddress getInternetAddressIngoringZoneIdAttribute(XmlPullParser parser, String attribute) {
|
||||
String inetAddressString = parser.getAttributeValue(attribute);
|
||||
if (inetAddressString == null) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
*
|
||||
* Copyright 2003-2007 Jive Software, 2016-2021 Florian Schmaus.
|
||||
* Copyright 2003-2007 Jive Software, 2016-2024 Florian Schmaus.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -36,24 +36,6 @@ public class StringUtils {
|
|||
public static final String MD5 = "MD5";
|
||||
public static final String SHA1 = "SHA-1";
|
||||
|
||||
/**
|
||||
* Deprecated, do not use.
|
||||
*
|
||||
* @deprecated use StandardCharsets.UTF_8 instead.
|
||||
*/
|
||||
// TODO: Remove in Smack 4.5.
|
||||
@Deprecated
|
||||
public static final String UTF8 = "UTF-8";
|
||||
|
||||
/**
|
||||
* Deprecated, do not use.
|
||||
*
|
||||
* @deprecated use StandardCharsets.US_ASCII instead.
|
||||
*/
|
||||
// TODO: Remove in Smack 4.5.
|
||||
@Deprecated
|
||||
public static final String USASCII = "US-ASCII";
|
||||
|
||||
public static final String QUOTE_ENCODE = """;
|
||||
public static final String APOS_ENCODE = "'";
|
||||
public static final String AMP_ENCODE = "&";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
*
|
||||
* Copyright 2014-2020 Florian Schmaus
|
||||
* Copyright 2014-2024 Florian Schmaus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -68,52 +68,6 @@ public class TLSUtils {
|
|||
return builder;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable only TLS. Connections created with the given ConnectionConfiguration will only support TLS.
|
||||
* <p>
|
||||
* According to the <a
|
||||
* href="https://raw.githubusercontent.com/stpeter/manifesto/master/manifesto.txt">Encrypted
|
||||
* XMPP Manifesto</a>, TLSv1.2 shall be deployed, providing fallback support for SSLv3 and
|
||||
* TLSv1.1. This method goes one step beyond and upgrades the handshake to use TLSv1 or better.
|
||||
* This method requires the underlying OS to support all of TLSv1.2 , 1.1 and 1.0.
|
||||
* </p>
|
||||
*
|
||||
* @param builder the configuration builder to apply this setting to
|
||||
* @param <B> Type of the ConnectionConfiguration builder.
|
||||
*
|
||||
* @return the given builder
|
||||
* @deprecated use {@link #setEnabledTlsProtocolsToRecommended(org.jivesoftware.smack.ConnectionConfiguration.Builder)} instead.
|
||||
*/
|
||||
// TODO: Remove in Smack 4.5.
|
||||
@Deprecated
|
||||
public static <B extends ConnectionConfiguration.Builder<B, ?>> B setTLSOnly(B builder) {
|
||||
builder.setEnabledSSLProtocols(new String[] { PROTO_TLSV1_2, PROTO_TLSV1_1, PROTO_TLSV1 });
|
||||
return builder;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable only TLS and SSLv3. Connections created with the given ConnectionConfiguration will
|
||||
* only support TLS and SSLv3.
|
||||
* <p>
|
||||
* According to the <a
|
||||
* href="https://raw.githubusercontent.com/stpeter/manifesto/master/manifesto.txt">Encrypted
|
||||
* XMPP Manifesto</a>, TLSv1.2 shall be deployed, providing fallback support for SSLv3 and
|
||||
* TLSv1.1.
|
||||
* </p>
|
||||
*
|
||||
* @param builder the configuration builder to apply this setting to
|
||||
* @param <B> Type of the ConnectionConfiguration builder.
|
||||
*
|
||||
* @return the given builder
|
||||
* @deprecated use {@link #setEnabledTlsProtocolsToRecommended(org.jivesoftware.smack.ConnectionConfiguration.Builder)} instead.
|
||||
*/
|
||||
// TODO: Remove in Smack 4.5.
|
||||
@Deprecated
|
||||
public static <B extends ConnectionConfiguration.Builder<B, ?>> B setSSLv3AndTLSOnly(B builder) {
|
||||
builder.setEnabledSSLProtocols(new String[] { PROTO_TLSV1_2, PROTO_TLSV1_1, PROTO_TLSV1, PROTO_SSL3 });
|
||||
return builder;
|
||||
}
|
||||
|
||||
/**
|
||||
* Accept all TLS certificates.
|
||||
* <p>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
*
|
||||
* Copyright 2014-2023 Florian Schmaus
|
||||
* Copyright 2014-2024 Florian Schmaus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -138,20 +138,6 @@ public class XmlStringBuilder implements Appendable, CharSequence, Element {
|
|||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deprecated.
|
||||
*
|
||||
* @param element deprecated.
|
||||
* @return deprecated.
|
||||
* @deprecated use {@link #append(Element)} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
// TODO: Remove in Smack 4.5.
|
||||
public XmlStringBuilder element(Element element) {
|
||||
assert element != null;
|
||||
return append(element.toXML());
|
||||
}
|
||||
|
||||
public XmlStringBuilder optElement(String name, String content) {
|
||||
if (content != null) {
|
||||
element(name, content);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue