public class OperationSetServerStoredAccountInfoJabberImpl extends AbstractOperationSetServerStoredAccountInfo
Modifier and Type | Field and Description |
---|---|
static java.util.List<java.lang.Class<? extends ServerStoredDetails.GenericDetail>> |
supportedTypes
List of all supported ServerStoredDetails
for this implementation.
|
Modifier | Constructor and Description |
---|---|
protected |
OperationSetServerStoredAccountInfoJabberImpl(ProtocolProviderServiceJabberImpl jabberProvider,
InfoRetreiver infoRetreiver,
java.lang.String uin) |
Modifier and Type | Method and Description |
---|---|
void |
addDetail(ServerStoredDetails.GenericDetail detail)
Adds the specified detail to the list of details ready to be saved online
for this account.
|
java.util.Iterator<ServerStoredDetails.GenericDetail> |
getAllAvailableDetails()
Returns all details currently available and set for our account.
|
java.util.Iterator<ServerStoredDetails.GenericDetail> |
getDetails(java.lang.Class<? extends ServerStoredDetails.GenericDetail> detailClass)
Returns an iterator over all details that are instances of exactly the
same class as the one specified.
|
<T extends ServerStoredDetails.GenericDetail> |
getDetailsAndDescendants(java.lang.Class<T> detailClass)
Returns an iterator over all details that are instances or descendants of
the specified class.
|
int |
getMaxDetailInstances(java.lang.Class<? extends ServerStoredDetails.GenericDetail> detailClass)
The method returns the number of instances supported for a particular
detail type.
|
java.util.Iterator<java.lang.Class<? extends ServerStoredDetails.GenericDetail>> |
getSupportedDetailTypes()
Returns all detail Class-es that the underlying implementation supports
setting.
|
boolean |
isDetailClassEditable(java.lang.Class<? extends ServerStoredDetails.GenericDetail> detailClass)
Determines whether the underlying implementation supports edition
of this detail class.
|
boolean |
isDetailClassSupported(java.lang.Class<? extends ServerStoredDetails.GenericDetail> detailClass)
Determines whether a detail class represents a detail supported by the
underlying implementation or not.
|
boolean |
removeDetail(ServerStoredDetails.GenericDetail detail)
Removes the specified detail from the list of details ready to be saved
online this account.
|
boolean |
replaceDetail(ServerStoredDetails.GenericDetail currentDetailValue,
ServerStoredDetails.GenericDetail newDetailValue)
Replaces the currentDetailValue detail with newDetailValue and returns
true if the operation was a success or false if currentDetailValue did
not previously exist (in this case an additional call to addDetail is
required).
|
void |
save()
Saves the list of details for this account that were ready to be stored
online on the server.
|
addServerStoredDetailsChangeListener, fireServerStoredDetailsChangeEvent, removeServerStoredDetailsChangeListener
public static final java.util.List<java.lang.Class<? extends ServerStoredDetails.GenericDetail>> supportedTypes
protected OperationSetServerStoredAccountInfoJabberImpl(ProtocolProviderServiceJabberImpl jabberProvider, InfoRetreiver infoRetreiver, java.lang.String uin)
public <T extends ServerStoredDetails.GenericDetail> java.util.Iterator<T> getDetailsAndDescendants(java.lang.Class<T> detailClass)
detailClass
- one of the detail classes defined in the
ServerStoredDetails class, indicating the kind of details we're
interested in.
public java.util.Iterator<ServerStoredDetails.GenericDetail> getDetails(java.lang.Class<? extends ServerStoredDetails.GenericDetail> detailClass)
detailClass
- one of the detail classes defined in the
ServerStoredDetails class, indicating the kind of details we're
interested in.
public java.util.Iterator<ServerStoredDetails.GenericDetail> getAllAvailableDetails()
public java.util.Iterator<java.lang.Class<? extends ServerStoredDetails.GenericDetail>> getSupportedDetailTypes()
public boolean isDetailClassSupported(java.lang.Class<? extends ServerStoredDetails.GenericDetail> detailClass)
detailClass
- the class the support for which we'd like to
determine.
public int getMaxDetailInstances(java.lang.Class<? extends ServerStoredDetails.GenericDetail> detailClass)
detailClass
- the class whose max instance number we'd like to find
out.
public void addDetail(ServerStoredDetails.GenericDetail detail) throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
detail
- the detail that we'd like registered on the server.
java.lang.IllegalArgumentException
- if such a detail already exists and its
max instances number has been attained or if the underlying
implementation does not support setting details of the corresponding
class.java.lang.ArrayIndexOutOfBoundsException
- if the number of
instances currently registered by the application is already equal to the
maximum number of supported instances (@see getMaxDetailInstances())public boolean removeDetail(ServerStoredDetails.GenericDetail detail)
detail
- the detail to removepublic boolean replaceDetail(ServerStoredDetails.GenericDetail currentDetailValue, ServerStoredDetails.GenericDetail newDetailValue) throws java.lang.ClassCastException
currentDetailValue
- the detail value we'd like to replace.newDetailValue
- the value of the detail that we'd like to replace
currentDetailValue with.java.lang.ClassCastException
- if newDetailValue is not an instance of the
same class as currentDetailValue.public void save() throws OperationFailedException
OperationFailedException
- with code Network Failure if putting the
new values back online has failed.public boolean isDetailClassEditable(java.lang.Class<? extends ServerStoredDetails.GenericDetail> detailClass)
detailClass
- the class whose edition we'd like to determine if it's
possible
Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under Apache license.