assembleQuery function
String
assembleQuery(
- String base, {
- RQLQuery? rqlFilter,
- NamespaceQuery? namespaceQuery,
- FieldQuery? fieldQuery,
- OptionQuery? optionQuery,
Returns a String which includes the base
and the given
rqlFilter
, namespaceQuery
, fieldQuery
and optionQuery
if they
aren't null.
The String is ready to use in a request to the Directory/Repository
Implementation
String assembleQuery(String base,
{RQLQuery? rqlFilter,
NamespaceQuery? namespaceQuery,
FieldQuery? fieldQuery,
OptionQuery? optionQuery}) {
String path = base;
if (rqlFilter != null ||
namespaceQuery != null ||
fieldQuery != null ||
optionQuery != null) {
path += '?';
if (rqlFilter != null) {
path += 'filter=${rqlFilter.generateString()}';
if (namespaceQuery != null || fieldQuery != null || optionQuery != null)
path += '&';
}
if (namespaceQuery != null) {
path += namespaceQuery.generateString();
if (fieldQuery != null || optionQuery != null) path += '&';
}
if (fieldQuery != null) {
path += fieldQuery.generateString();
if (optionQuery != null) path += '&';
}
if (optionQuery != null) {
path += optionQuery.generateString();
}
}
//return Uri.encodeFull(path);
return path;
}