public abstract class RepositoryAccess extends Object
Modifier and Type | Field and Description |
---|---|
protected AuthRepository |
authRepo
Field description
|
protected Authorization |
authState
Current authorization state - initialy session i
NOT_AUTHORIZED . |
protected VHostItem |
domain
Field description
|
protected boolean |
is_anonymous
Field description
|
protected static String |
NO_ACCESS_TO_REP_MSG
Field description
|
protected static String |
NOT_AUTHORIZED_MSG
Field description
|
Constructor and Description |
---|
RepositoryAccess(UserRepository rep,
AuthRepository auth)
Creates a new
RepositoryAccess instance. |
Modifier and Type | Method and Description |
---|---|
void |
addDataList(String subnode,
String key,
String[] list)
Method description
|
void |
addOfflineDataList(String subnode,
String key,
String[] list)
Method description
|
void |
addPublicDataList(String subnode,
String key,
String[] list)
Method description
|
String |
getAuthenticationToken(String xmpp_sessionId)
Method description
|
Authorization |
getAuthState()
Gets the value of authState
|
abstract BareJID |
getBareJID()
Returns user JID but without resource part.
|
String |
getData(String subnode,
String key,
String def)
getData method is a twin sister (brother?) |
String[] |
getDataGroups(String subnode)
This method retrieves list of all direct subnodes for given node.
|
String[] |
getDataKeys(String subnode)
This method returns all data keys available in permanent storage in given
node.
|
String[] |
getDataList(String subnode,
String key)
This method allows to retrieve list of values associated with one key.
|
VHostItem |
getDomain()
Method description
|
JID |
getDomainAsJID()
Method description
|
String |
getOfflineData(String subnode,
String key,
String def)
Method description
|
String[] |
getOfflineDataList(String subnode,
String key)
Method description
|
String |
getPublicData(String subnode,
String key,
String def)
Method description
|
String[] |
getPublicDataList(String subnode,
String key)
Method description
|
abstract String |
getUserName()
Method description
|
boolean |
isAnonymous()
Method description
|
boolean |
isAuthorized()
This method allows you test this session if it already has been authorized.
|
protected abstract void |
login()
Method description
|
Authorization |
loginDigest(BareJID userId,
String digest,
String id,
String alg)
Deprecated.
|
Authorization |
loginOther(Map<String,Object> props)
Deprecated.
|
Authorization |
loginPlain(BareJID userId,
String password)
Deprecated.
|
Authorization |
loginToken(BareJID userId,
String xmpp_sessionId,
String token)
Deprecated.
|
void |
logout()
Method description
|
void |
queryAuth(Map<String,Object> authProps)
Method description
|
Authorization |
register(String name_param,
String pass_param,
Map<String,String> reg_params)
Method description
|
Authorization |
register(String name_param,
String pass_param,
String email_param)
Deprecated.
|
void |
removeData(String subnode,
String key)
Method description
|
void |
removeDataGroup(String subnode)
Removes the last data node given in subnode path as parameter to this
method.
|
void |
removeOfflineData(String subnode,
String key)
Method description
|
void |
removeOfflineDataGroup(String subnode)
Method description
|
void |
removePublicData(String subnode,
String key)
Method description
|
void |
removePublicDataGroup(String subnode)
Method description
|
void |
setData(String subnode,
String key,
String value)
This method stores given data in permanent storage in given point of
hierarchy of data base.
|
void |
setDataList(String subnode,
String key,
String[] list)
This method allows to store list of values under one key ID reference.
|
void |
setDomain(VHostItem domain)
Method description
|
void |
setOfflineData(String subnode,
String key,
String value)
Method description
|
void |
setOfflineDataList(String subnode,
String key,
String[] list)
Method description
|
void |
setPublicData(String subnode,
String key,
String value)
Method description
|
void |
setPublicDataList(String subnode,
String key,
String[] list)
Method description
|
Authorization |
unregister(String name_param)
Method description
|
protected static final String NO_ACCESS_TO_REP_MSG
protected static final String NOT_AUTHORIZED_MSG
protected AuthRepository authRepo
protected VHostItem domain
protected boolean is_anonymous
protected Authorization authState
NOT_AUTHORIZED
. It becomes AUTHORIZED
public RepositoryAccess(UserRepository rep, AuthRepository auth)
RepositoryAccess
instance.rep
- auth
- public void addDataList(String subnode, String key, String[] list) throws NotAuthorizedException, TigaseDBException
subnode
- key
- list
- NotAuthorizedException
TigaseDBException
public void addOfflineDataList(String subnode, String key, String[] list) throws NotAuthorizedException, TigaseDBException
subnode
- key
- list
- NotAuthorizedException
TigaseDBException
public void addPublicDataList(String subnode, String key, String[] list) throws NotAuthorizedException, TigaseDBException
subnode
- key
- list
- NotAuthorizedException
TigaseDBException
@Deprecated public Authorization loginDigest(BareJID userId, String digest, String id, String alg) throws NotAuthorizedException, AuthorizationException, TigaseDBException
userId
- digest
- id
- alg
- Authorization
AuthorizationException
NotAuthorizedException
TigaseDBException
@Deprecated public Authorization loginOther(Map<String,Object> props) throws NotAuthorizedException, AuthorizationException, TigaseDBException
props
- Authorization
AuthorizationException
NotAuthorizedException
TigaseDBException
@Deprecated public Authorization loginPlain(BareJID userId, String password) throws NotAuthorizedException, AuthorizationException, TigaseDBException
authorize
method performs authorization with given password as
plain text. If AUTHORIZED
has been returned it means
authorization process is successful and session has been activated,
otherwise session hasn't been authorized and return code gives more
detailed information of fail reason. Please refer to
Authorization
documentation for more details.userId
- password
- Authorization
value of result code.NotAuthorizedException
AuthorizationException
TigaseDBException
@Deprecated public Authorization loginToken(BareJID userId, String xmpp_sessionId, String token) throws NotAuthorizedException, AuthorizationException, TigaseDBException
userId
- xmpp_sessionId
- token
- Authorization
AuthorizationException
NotAuthorizedException
TigaseDBException
public void logout() throws NotAuthorizedException
NotAuthorizedException
public void queryAuth(Map<String,Object> authProps) throws TigaseDBException
authProps
- TigaseDBException
@Deprecated public Authorization register(String name_param, String pass_param, String email_param) throws NotAuthorizedException, TigaseDBException, TigaseStringprepException
name_param
- pass_param
- email_param
- Authorization
NotAuthorizedException
TigaseDBException
TigaseStringprepException
public Authorization register(String name_param, String pass_param, Map<String,String> reg_params) throws NotAuthorizedException, TigaseDBException, TigaseStringprepException
name_param
- pass_param
- reg_params
- Authorization
NotAuthorizedException
TigaseDBException
TigaseStringprepException
public void removeData(String subnode, String key) throws NotAuthorizedException, TigaseDBException
subnode
- key
- NotAuthorizedException
TigaseDBException
public void removeDataGroup(String subnode) throws NotAuthorizedException, TigaseDBException
(key, val)
are removed as well. Changes are commited to
repository immediatelly and there is no way to undo this operation so use
it with care.subnode
- a String
value of path to node which has to be
removed.NotAuthorizedException
- is thrown when session has not been authorized yet and there
is no access to permanent storage.TigaseDBException
setData(String, String, String)
public void removeOfflineData(String subnode, String key) throws NotAuthorizedException, TigaseDBException
subnode
- key
- NotAuthorizedException
TigaseDBException
public void removeOfflineDataGroup(String subnode) throws NotAuthorizedException, TigaseDBException
subnode
- NotAuthorizedException
TigaseDBException
public void removePublicData(String subnode, String key) throws NotAuthorizedException, TigaseDBException
subnode
- key
- NotAuthorizedException
TigaseDBException
public void removePublicDataGroup(String subnode) throws NotAuthorizedException, TigaseDBException
subnode
- NotAuthorizedException
TigaseDBException
public Authorization unregister(String name_param) throws NotAuthorizedException, TigaseDBException, TigaseStringprepException
name_param
- Authorization
NotAuthorizedException
TigaseDBException
TigaseStringprepException
public String getAuthenticationToken(String xmpp_sessionId) throws NotAuthorizedException, TigaseDBException
xmpp_sessionId
- String
NotAuthorizedException
TigaseDBException
public final Authorization getAuthState()
public abstract BareJID getBareJID() throws NotAuthorizedException
getJID()
method.NotAuthorizedException
.String
value of user ID - this is user JID without
resource part. To obtain full user JID please refer to
getJID
method.NotAuthorizedException
- when this session has not been authorized
yet and some parts of user JID are not
known yet.public String getData(String subnode, String key, String def) throws NotAuthorizedException, TigaseDBException
getData
method is a twin sister (brother?) of
setData(String, String, String)
method. It allows you to
retrieve data stored with above method. It is data stored in given node
with given key identifier. If there are no data associated with given key
or given node does not exist given def
value is returned.subnode
- a String
value is path to node where pair
(key, value)
are stored.key
- a String
value of key ID for data to retrieve.def
- a String
value of default returned if there is
nothing stored with given key. def
can be set to any
value you wish to have back as default value or null
if you want to have back null
if no data was found.
If you set def
to null
it has exactly
the same effect as if you use getData(String)
method.String
value of data found for given key or
def
if there was no data associated with given key.NotAuthorizedException
- is thrown when session has not been authorized yet and there
is no access to permanent storage.TigaseDBException
setData(String, String, String)
public String[] getDataGroups(String subnode) throws NotAuthorizedException, TigaseDBException
ls
unix command or dir
under
DOS/Windows systems.subnode
- a String
value of path to node for which we want to
retrieve list of direct subnodes.String[]
array of direct subnodes names for given
node.NotAuthorizedException
- is thrown when session has not been authorized yet and there
is no access to permanent storage.TigaseDBException
setData(String, String, String)
public String[] getDataKeys(String subnode) throws NotAuthorizedException, TigaseDBException
subnode
- a String
value pointing to specific subnode in user
reposiotry where data have to be stored.String[]
array containing all data keys found in
given subnode.NotAuthorizedException
- is thrown when session has not been authorized yet and there
is no access to permanent storage.TigaseDBException
setData(String, String, String)
public String[] getDataList(String subnode, String key) throws NotAuthorizedException, TigaseDBException
null
is returned.subnode
- a String
value pointing to specific subnode in user
reposiotry where data have to be stored.key
- a String
value of data key ID.String[]
array containing all values found for given
key.NotAuthorizedException
- is thrown when session has not been authorized yet and there
is no access to permanent storage.TigaseDBException
setData(String, String, String)
public VHostItem getDomain()
VHostItem
public JID getDomainAsJID()
JID
public String getOfflineData(String subnode, String key, String def) throws NotAuthorizedException, TigaseDBException
subnode
- key
- def
- String
NotAuthorizedException
TigaseDBException
public String[] getOfflineDataList(String subnode, String key) throws NotAuthorizedException, TigaseDBException
subnode
- key
- String[]
NotAuthorizedException
TigaseDBException
public String getPublicData(String subnode, String key, String def) throws NotAuthorizedException, TigaseDBException
subnode
- key
- def
- String
NotAuthorizedException
TigaseDBException
public String[] getPublicDataList(String subnode, String key) throws NotAuthorizedException, TigaseDBException
subnode
- key
- String[]
NotAuthorizedException
TigaseDBException
public abstract String getUserName() throws NotAuthorizedException
String
NotAuthorizedException
public boolean isAnonymous()
boolean
public boolean isAuthorized()
true
is returned as method result it means session has
already been authorized, if false
however session is still not
authorized.boolean
value which informs whether this session has
been already authorized or not.public void setData(String subnode, String key, String value) throws NotAuthorizedException, TigaseDBException
setData(String, String)
and differs in one additional
parameter which point to user data base subnode where data must be stored.
It helps to organize user data in more logical hierarchy.UserRepository
interface for general info and to XMLRepository
for detailed
explanation regarding XML implementation of user repository.
subnode
is kind of path to data node. If you specify
null
or empty node data will be stored in root user node. This
has exactly the same effect as you call
setData(String, String)
. If you want to store data in
different node you must just specify node path like you do it to directory
on most file systems:
/rosterOr, if you need access deeper node:
/just/like/path/to/file
removeDataGroup(String)
for deleting specified node as nodes
are not automaticaly deleted.subnode
- a String
value pointing to specific subnode in user
reposiotry where data have to be stored.key
- a String
value of data key ID.value
- a String
actual data stored in user repository.NotAuthorizedException
- is thrown when session has not been authorized yet and there
is no access to permanent storage.TigaseDBException
removeDataGroup(String)
,
UserRepository
public void setDataList(String subnode, String key, String[] list) throws NotAuthorizedException, TigaseDBException
subnode
- a String
value pointing to specific subnode in user
reposiotry where data have to be stored.key
- a String
value of data key ID.list
- a String[]
keeping list of actual data to be stored
in user repository.NotAuthorizedException
- is thrown when session has not been authorized yet and there
is no access to permanent storage.TigaseDBException
setData(String, String, String)
public void setDomain(VHostItem domain) throws TigaseStringprepException
domain
- TigaseStringprepException
public void setOfflineData(String subnode, String key, String value) throws NotAuthorizedException, TigaseDBException
subnode
- key
- value
- NotAuthorizedException
TigaseDBException
public void setOfflineDataList(String subnode, String key, String[] list) throws NotAuthorizedException, TigaseDBException
subnode
- key
- list
- NotAuthorizedException
TigaseDBException
public void setPublicData(String subnode, String key, String value) throws NotAuthorizedException, TigaseDBException
subnode
- key
- value
- NotAuthorizedException
TigaseDBException
public void setPublicDataList(String subnode, String key, String[] list) throws NotAuthorizedException, TigaseDBException
subnode
- key
- list
- NotAuthorizedException
TigaseDBException
protected abstract void login()
Copyright © 2018 "Tigase, Inc.". All rights reserved.