1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-11-27 00:32:07 +01:00

Javadoc cleanup.

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@10879 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
Matt Tucker 2008-11-13 18:34:03 +00:00 committed by matt
parent a631b163e8
commit 18d38845e9
3 changed files with 59 additions and 59 deletions

View file

@ -30,8 +30,8 @@ import java.util.List;
* An ad-hoc command is responsible for executing the provided service and
* storing the result of the execution. Each new request will create a new
* instance of the command, allowing information related to executions to be
* stored in it. For example suppose that a command that retrieve the list of
* users of a server is implemented. When the command is executed it gets that
* stored in it. For example suppose that a command that retrieves the list of
* users on a server is implemented. When the command is executed it gets that
* list and the result is stored as a form in the command instance, i.e. the
* <code>getForm</code> method retrieves a form with all the users.
* <p>
@ -69,7 +69,7 @@ import java.util.List;
*
*/
public abstract class AdHocCommand {
// TODO: Analize the redesign of command by having an ExecutionResponse as a
// TODO: Analyze the redesign of command by having an ExecutionResponse as a
// TODO: result to the execution of every action. That result should have all the
// TODO: information related to the execution, e.g. the form to fill. Maybe this
// TODO: design is more intuitive and simpler than the current one that has all in
@ -225,7 +225,7 @@ public abstract class AdHocCommand {
/**
* Completes the command execution with the information provided in the
* <code>response</code>. This form must be the answer form of the
* previous stage. This method will be only invoked for commands that have 1
* previous stage. This method will be only invoked for commands that have one
* or more stages. If there is a problem executing the command it throws an
* XMPPException.
*
@ -291,7 +291,7 @@ public abstract class AdHocCommand {
}
/**
* Returns which of the actions available for the current stage is
* Sets which of the actions available for the current stage is
* considered the equivalent to "execute". This should be used when setting
* a response. When the requester sends his reply, if no action was defined
* in the command then the action will be assumed "execute" thus assuming

View file

@ -46,12 +46,13 @@ import java.util.concurrent.ConcurrentHashMap;
/**
* An AdHocCommandManager is responsible for keeping the list of available
* commands offered by a service and for processing commands requests.
* Typically, instances of this class are private to the service offering ad-hoc
* commands.
*
* Pass in an XMPPConnection isntance to
* {@link #getAddHocCommandsManager(org.jivesoftware.smack.XMPPConnection)} in order to
* get an instance of this class.
*
* @author Gabriel Guardincerri
*/
public class AdHocCommandManager {
private static final String DISCO_NAMESPACE = "http://jabber.org/protocol/commands";
@ -76,12 +77,11 @@ public class AdHocCommandManager {
* related to that connection.
*/
static {
XMPPConnection
.addConnectionCreationListener(new ConnectionCreationListener() {
public void connectionCreated(XMPPConnection connection) {
new AdHocCommandManager(connection);
}
});
XMPPConnection.addConnectionCreationListener(new ConnectionCreationListener() {
public void connectionCreated(XMPPConnection connection) {
new AdHocCommandManager(connection);
}
});
}
/**
@ -131,11 +131,12 @@ public class AdHocCommandManager {
* connection. The <code>node</code> is an unique identifier of that
* command for the connection related to this command manager. The
* <code>name</name> is the human readable name of the command.
* The <code>class</code> is the class of the command
* The <code>class</code> is the class of the command, which must extend
* {@link LocalCommand}.
*
* @param node the unique identifier of the command.
* @param name the human readable name of the command.
* @param clazz the class of the command.
* @param clazz the class of the command, which must extend {@link LocalCommand}.
*/
public void registerCommand(String node, final String name, Class clazz) {
AdHocCommandInfo commandInfo = new AdHocCommandInfo(node, name,
@ -173,7 +174,7 @@ public class AdHocCommandManager {
/**
* Discover the commands of an specific JID. The <code>jid</code> is a
* full JID
* full JID.
*
* @param jid the full JID to retrieve the commands for.
* @return the discovered items.

View file

@ -25,21 +25,20 @@ import org.jivesoftware.smackx.packet.AdHocCommandData;
/**
* Represents a command that can be executed locally from a remote location. This
* class must be extended to implement an specific ad-hoc command. This class
* provides some useful and common useful:
* <li>Node code</li>
* <li>Node name</li>
* <li>Session ID</li>
* <li>Current Stage</li>
* <li>Available actions</li>
* <li>Default action</li>
* <p>
* provides some useful tools:<ul>
* <li>Node</li>
* <li>Name</li>
* <li>Session ID</li>
* <li>Current Stage</li>
* <li>Available actions</li>
* <li>Default action</li>
* </ul><p/>
* To implement a new command extend this class and implement all the abstract
* methods. When implementing the actions remember that they could be invoked
* several times, and that you must use the current stage number to know what to
* do.
*
* @author Gabriel Guardincerri
*
*/
public abstract class LocalCommand extends AdHocCommand {
@ -73,8 +72,7 @@ public abstract class LocalCommand extends AdHocCommand {
* The sessionID is an unique identifier of an execution request. This is
* automatically handled and should not be called.
*
* @param sessionID
* the unique session id of this execution
* @param sessionID the unique session id of this execution
*/
public void setSessionID(String sessionID) {
this.sessionID = sessionID;
@ -114,20 +112,43 @@ public abstract class LocalCommand extends AdHocCommand {
return creationDate;
}
/**
* Returns true if the current stage is the last one. If it is then the
* execution of some action will complete the execution of the command.
* Commands that don't have multiple stages can always return <tt>true</tt>.
*
* @return true if the command is in the last stage.
*/
public abstract boolean isLastStage();
/**
* Returns true if the specified requester has permission to execute all the
* stages of this action. This is checked when the first request is received,
* if the permission is grant then the requester will be able to execute
* all the stages of the command. It is not checked again during the
* execution.
*
* @param jid the JID to check permissions on.
* @return true if the user has permission to execute this action.
*/
public abstract boolean hasPermission(String jid);
/**
* Returns the currently executing stage number. The first stage number is
* 0. During the execution of the first action this method will answer 0.
*
* @return the current stage number.
*/
public int getCurrentStage() {
return currenStage;
}
@Override
void setData(AdHocCommandData data) {
data.setSessionID(sessionID);
super.setData(data);
}
/**
* Returns true if the current stage is the last one. If it is then the
* execution of some action will complete the execution of the command.
*
* @return true if the command is in the last stage.
*/
public abstract boolean isLastStage();
/**
* Increase the current stage number. This is automatically handled and should
* not be called.
@ -145,26 +166,4 @@ public abstract class LocalCommand extends AdHocCommand {
void decrementStage() {
currenStage--;
}
/**
* Returns the currently executing stage number. The first stage number is
* 0. During the execution of the first action this method will answer 0.
*
* @return the current stage number.
*/
public int getCurrentStage() {
return currenStage;
}
/**
* Returns true if the specified requester has permission to execute all the
* stages of this action. This is checked when the first request is received,
* if the permission is grant then the requester will be able to execute
* all the stages of the command. It is not checked again during the
* execution.
*
* @param jid the JID to check permissions on.
* @return true if the user has permission to execute this action
*/
public abstract boolean hasPermission(String jid);
}
}