Interface MorpheusDataQueryService<M extends MorpheusModel>
- Type Parameters:
M
- TheMorpheusModel
class type for this service to query against
- All Known Subinterfaces:
MorpheusAccountCertificateService
,MorpheusAccountCredentialService
,MorpheusAccountCredentialTypeService
,MorpheusAccountDiscoveryService
,MorpheusAccountIntegrationService
,MorpheusAccountInventoryService
,MorpheusAccountInventoryTypeService
,MorpheusAccountInvoiceItemService
,MorpheusAccountInvoiceService
,MorpheusAccountPriceService
,MorpheusAccountPriceSetService
,MorpheusAccountResourceService
,MorpheusAccountResourceTypeService
,MorpheusApplianceService
,MorpheusAppService
,MorpheusBackupJobService
,MorpheusBackupProviderService
,MorpheusBackupProviderTypeService
,MorpheusBackupRepositoryService
,MorpheusBackupRestoreService
,MorpheusBackupResultService
,MorpheusBackupService
,MorpheusBackupTypeService
,MorpheusCloudFolderService
,MorpheusCloudPoolService
,MorpheusCloudRegionService
,MorpheusCloudService
,MorpheusCloudTypeService
,MorpheusCodeRepositoryService
,MorpheusCodeRepositoryTraitService
,MorpheusCodeRepositoryTraitTypeService
,MorpheusComputePortService
,MorpheusComputeServerAccessService
,MorpheusComputeServerInterfaceService
,MorpheusComputeServerService
,MorpheusComputeSiteService
,MorpheusComputeTypeSetService
,MorpheusContainerTypeService
,MorpheusDashboardService
,MorpheusDataService<M,
,I> MorpheusDatastoreService
,MorpheusEnvironmentVariableTypeService
,MorpheusExecuteScheduleService
,MorpheusExecuteScheduleTypeService
,MorpheusInstanceScaleService
,MorpheusInstanceScaleTypeService
,MorpheusInstanceService
,MorpheusInstanceThresholdService
,MorpheusInstanceTypeLayoutService
,MorpheusInstanceTypeLayoutService
,MorpheusInstanceTypeService
,MorpheusKeyPairService
,MorpheusLoadBalancerInstanceService
,MorpheusLoadBalancerMonitorService
,MorpheusLoadBalancerNodeService
,MorpheusLoadBalancerPolicyService
,MorpheusLoadBalancerPoolService
,MorpheusLoadBalancerProfileService
,MorpheusLoadBalancerScriptService
,MorpheusLoadBalancerService
,MorpheusLoadBalancerTypeService
,MorpheusMetadataTagService
,MorpheusMetadataTagTypeService
,MorpheusNetworkDomainRecordService
,MorpheusNetworkDomainService
,MorpheusNetworkPoolIpService
,MorpheusNetworkPoolRangeService
,MorpheusNetworkPoolService
,MorpheusNetworkProxyService
,MorpheusNetworkRouterService
,MorpheusNetworkRouteService
,MorpheusNetworkRouteTableService
,MorpheusNetworkServerService
,MorpheusNetworkService
,MorpheusNetworkSubnetService
,MorpheusNetworkTypeService
,MorpheusOperationDataService
,MorpheusOperationNotificationService
,MorpheusOptionTypeService
,MorpheusOsTypeService
,MorpheusPermissionService
,MorpheusPolicyService
,MorpheusPolicyTypeService
,MorpheusPricePlanPriceSetService
,MorpheusPricePlanService
,MorpheusProcessService
,MorpheusReferenceDataService
,MorpheusReplicationGroupService
,MorpheusReplicationService
,MorpheusReplicationSiteService
,MorpheusReplicationTypeService
,MorpheusResourcePermissionService
,MorpheusResourceSpecService
,MorpheusResourceSpecTemplateService
,MorpheusSecurityGroupLocationService
,MorpheusSecurityGroupRuleApplicationService
,MorpheusSecurityGroupRuleDestinationService
,MorpheusSecurityGroupRuleLocationService
,MorpheusSecurityGroupRuleProfileService
,MorpheusSecurityGroupRuleScopeService
,MorpheusSecurityGroupRuleService
,MorpheusSecurityGroupRuleSourceService
,MorpheusSecurityGroupService
,MorpheusServicePlanPriceSetService
,MorpheusServicePlanService
,MorpheusSettingService
,MorpheusSettingTypeService
,MorpheusSnapshotService
,MorpheusStorageBucketService
,MorpheusStorageControllerService
,MorpheusStorageControllerTypeService
,MorpheusStorageServerService
,MorpheusStorageVolumeService
,MorpheusStorageVolumeTypeService
,MorpheusTaskService
,MorpheusTaskSetService
,MorpheusUserService
,MorpheusVirtualImageLocationService
,MorpheusVirtualImageService
,MorpheusVirtualImageTypeService
,MorpheusWikiPageService
,MorpheusWorkloadActionService
,MorpheusWorkloadScriptService
,MorpheusWorkloadScriptService
,MorpheusWorkloadService
,MorpheusWorkloadStateService
,MorpheusWorkloadTemplateService
,MorpheusWorkloadTemplateService
,MorpheusWorkloadTypeConfigService
,MorpheusWorkloadTypeLogService
,MorpheusWorkloadTypeMountService
,MorpheusWorkloadTypePortService
,MorpheusWorkloadTypeService
,MorpheusWorkloadTypeSetService
,MorpheusWorkspaceService
,MorpheusWorkspaceTypeService
DataQuery
object. There are methods that can be implemented
to provide both MorpheusModel
related objects as well as Map objects for use in
DatasetProvider
use cases (dropdowns and type-ahead components in UI option types).- Since:
- 0.16.1
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionio.reactivex.rxjava3.core.Single<Long>
Performs a query operation based on the filters set in theDataQuery
object passed and returns a simple total count of the results.default io.reactivex.rxjava3.core.Maybe<M>
Performs a query operation on the database returning the first result as aMorpheusModel
object.io.reactivex.rxjava3.core.Maybe<M>
Fetches a singleMorpheusModel
by its Identifier (id) field.io.reactivex.rxjava3.core.Observable<M>
list()
Performs a list all operation on the database returning the results asMorpheusModel
objects.io.reactivex.rxjava3.core.Observable<M>
Performs a query operation on the database returning the results asMorpheusModel
objects.io.reactivex.rxjava3.core.Observable<M>
Fetches a stream ofMorpheusModel
objects based on a collection of Identifiers (id).io.reactivex.rxjava3.core.Observable<Map>
Performs a list all operation on the database returning the results as Map objects typically containing keys of (name,value) for use in dropdown or type-ahead components within the UI.io.reactivex.rxjava3.core.Observable<Map>
listOptions
(DataQuery query) Performs a query operation on the database returning the results as Map objects typically containing keys of (name,value) for use in dropdown or type-ahead components within the UI.io.reactivex.rxjava3.core.Single<DataQueryResult>
Performs a query operation on the database just likelist(DataQuery)
with a query, but the result is no longer a stream of individualMorpheusModel
.
-
Method Details
-
count
Performs a query operation based on the filters set in theDataQuery
object passed and returns a simple total count of the results. This could be useful for paging.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: For more information on how to query please refer to the documentation for the
DataQuery
class.- Parameters:
query
- An instance of theDataQuery
object used for filtering results. This should often include an account / user scope for security but does not always need to if being used for sync or multi-tenant reporting.- Returns:
- a Single observable containing a Long value with the total count.
- See Also:
-
get
Fetches a singleMorpheusModel
by its Identifier (id) field. For more advanced single object fetches please refer tofind(DataQuery)
.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: This method does not factor in any sort of access/security control and should not be used in areas where this is required.
- Parameters:
id
- the database identifier to fetch an object by.- Returns:
- a Maybe representation of a
MorpheusModel
depending on if the object was found or not.
-
listById
Fetches a stream ofMorpheusModel
objects based on a collection of Identifiers (id). This is often used in conjunction with theMorpheusIdentityService.listIdentityProjections(DataQuery)
and theSyncTask
for efficiently only fetching batches of objects we want to perform update operations on.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: This method does not factor in any sort of access/security control and should not be used in areas where this is required.
- Parameters:
ids
- a collection of Identifiers (ids) to fetch the objects by.- Returns:
- an Observable stream of
MorpheusModel
objects based on the ids passed in
-
list
io.reactivex.rxjava3.core.Observable<M> list()Performs a list all operation on the database returning the results asMorpheusModel
objects.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
- Returns:
- an Observable stream of
MorpheusModel
objects based on the passed in query.
-
list
Performs a query operation on the database returning the results asMorpheusModel
objects. These queries can be scoped to anAccountIdentity
orUserIdentity
as well as various filters on arbitrary fields in the database.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: For more information on how to query please refer to the documentation for the
DataQuery
class.- Parameters:
query
- An instance of theDataQuery
object used for filtering results. This should often include an account / user scope for security but does not always need to if being used for sync or multi-tenant reporting.- Returns:
- an Observable stream of
MorpheusModel
objects based on the passed in query.
-
listOptions
io.reactivex.rxjava3.core.Observable<Map> listOptions()Performs a list all operation on the database returning the results as Map objects typically containing keys of (name,value) for use in dropdown or type-ahead components within the UI. This would typically be paired with aDatasetProvider
.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: For more information on how to query please refer to the documentation for the
DataQuery
class.- Returns:
- an Observable stream of Map objects based on the passed in query containing name,value pairs.
-
listOptions
Performs a query operation on the database returning the results as Map objects typically containing keys of (name,value) for use in dropdown or type-ahead components within the UI. This would typically be paired with aDatasetProvider
. Queries can be scoped to anAccountIdentity
orUserIdentity
as well as various filters on arbitrary fields in the database.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: For more information on how to query please refer to the documentation for the
DataQuery
class.- Parameters:
query
- An instance of theDataQuery
object used for filtering results. This should often include an account / user scope for security but does not always need to if being used for sync or multi-tenant reporting.- Returns:
- an Observable stream of Map objects based on the passed in query containing name,value pairs.
-
find
Performs a query operation on the database returning the first result as aMorpheusModel
object. These queries can be scoped to anAccountIdentity
orUserIdentity
as well as various filters on arbitrary fields in the database.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: For more information on how to query please refer to the documentation for the
DataQuery
class.- Parameters:
query
- An instance of theDataQuery
object used for filtering results. This should often include an account / user scope for security but does not always need to if being used for sync or multi-tenant reporting.- Returns:
- a Maybe
MorpheusModel
object based on the passed in query.
-
search
Performs a query operation on the database just likelist(DataQuery)
with a query, but the result is no longer a stream of individualMorpheusModel
.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: For more information on how to query please refer to the documentation for the
DataQuery
class.- Parameters:
query
- An instance of theDataQuery
object used for filtering results. This should often include an account / user scope for security but does not always need to if being used for sync or multi-tenant reporting.- Returns:
- a Single DataQueryResult representing a collection of result objects along with the metadata about the result. This could be paging data for example.
-