/*
- * jFCPlib - PluginMessage.java - Copyright © 2008 David Roden
+ * jFCPlib - FCPPluginMessage.java - Copyright © 2008–2016 David Roden
*
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package net.pterodactylus.fcp;
+import java.io.InputStream;
+
/**
* An “CPPluginMessage” sends a message with custom parameters and (optional)
* payload to a plugin.
public class FCPPluginMessage extends FcpMessage {
/**
- * Creates a new “FCPPluginMessage” message for the given plugin.
- *
- * @param pluginClass
- * The name of the plugin class
+ * @deprecated Use {@link #FCPPluginMessage(String, String)} instead
*/
+ @Deprecated
public FCPPluginMessage(String pluginClass) {
super("FCPPluginMessage");
setField("PluginName", pluginClass);
}
+ public FCPPluginMessage(String identifier, String pluginClass) {
+ this(pluginClass);
+ setField("Identifier", identifier);
+ }
+
/**
- * Sets the identifier of the request. Though this is still optional you
- * are encouraged to include it because the plugin might reply in random
- * order to requests.
- *
- * @param identifier
- * The identifier of the request
+ * @deprecated Use {@link #FCPPluginMessage(String, String)} instead
*/
+ @Deprecated
public void setIdentifier(String identifier) {
setField("Identifier", identifier);
}
* Sets a custom parameter for the plugin.
*
* @param key
- * The key of the parameter
+ * The key of the parameter
* @param value
- * The value of the parameter
+ * The value of the parameter
*/
public void setParameter(String key, String value) {
setField("Param." + key, value);
}
/**
- * Sets the length of data of the optional payload. If you call this method
- * you also have to call
- * {@link #setPayloadInputStream(java.io.InputStream)} !
- *
- * @param dataLength
- * The length of data in the payload input stream
+ * @deprecated Use {@link #setData(InputStream, long)} instead
*/
+ @Deprecated
public void setDataLength(long dataLength) {
setField("DataLength", String.valueOf(dataLength));
}
+ public void setData(InputStream payloadInputStream, long dataLength) {
+ setPayloadInputStream(payloadInputStream);
+ setDataLength(dataLength);
+ }
+
}