Class ResultList<T>

java.lang.Object
org.openmetadata.service.util.ResultList<T>
Direct Known Subclasses:
AppMarketPlaceResource.AppMarketPlaceDefinitionList, AppResource.AppList, AppResource.AppRunList, BotResource.BotList, ChartResource.ChartList, ContainerResource.ContainerList, DashboardDataModelResource.DashboardDataModelList, DashboardResource.DashboardList, DashboardServiceResource.DashboardServiceList, DatabaseResource.DatabaseList, DatabaseSchemaResource.DatabaseSchemaList, DatabaseServiceResource.DatabaseServiceList, DataInsightChartResource.DataInsightChartList, DataInsightChartResource.DataInsightChartResultList, DataProductResource.DataProductList, DocStoreResource.DocumentList, DomainResource.DomainList, EventResource.EventList, EventSubscriptionResource.EventSubResourceDescriptorList, EventSubscriptionResource.EventSubscriptionList, FeedResource.PostList, FeedResource.ThreadCountList, FeedResource.ThreadList, FunctionList, GlossaryResource.GlossaryList, GlossaryTermResource.GlossaryTermList, IngestionPipelineResource.IngestionPipelineList, KpiResource.KpiList, KpiResource.KpiResultList, MessagingServiceResource.MessagingServiceList, MetadataServiceResource.MetadataServiceList, MetricsResource.MetricsList, MlModelResource.MlModelList, MlModelServiceResource.MlModelServiceList, PersonaResource.PersonaList, PipelineResource.PipelineList, PipelineResource.PipelineStatusList, PipelineServiceResource.PipelineServiceList, PolicyResource.PolicyList, PolicyResource.ResourceDescriptorList, QueryResource.QueryList, ReportDataResource.ReportDataResultList, ReportResource.ReportList, RoleResource.RoleList, SearchIndexResource.SearchIndexList, SearchServiceResource.SearchServiceList, StorageServiceResource.StorageServiceList, StoredProcedureResource.StoredProcedureList, SuggestionsResource.SuggestionList, SystemResource.SettingsList, TableResource.ColumnProfileList, TableResource.SystemProfileList, TableResource.TableList, TableResource.TableProfileList, TeamResource.TeamHierarchyList, TeamResource.TeamList, TestCaseResolutionStatusResource.TestCaseResolutionStatusResultList, TestCaseResource.TestCaseList, TestCaseResource.TestCaseResultList, TestConnectionDefinitionResource.TestConnectionDefinitionList, TestDefinitionResource.TestDefinitionList, TestSuiteResource.TestSuiteList, TopicResource.TopicList, TypeResource.TypeList, UserResource.PersonalAccessTokenList, UserResource.UserList, WebAnalyticEventResource.WebAnalyticEventDataList, WebAnalyticEventResource.WebAnalyticEventList, WorkflowResource.WorkflowList

public class ResultList<T> extends Object
Class used for generating JSON response for APIs returning list of objects in the following format: { "data" : [ { json for object 1}, {json for object 2}, ... ] }
  • Constructor Details

    • ResultList

      public ResultList()
    • ResultList

      public ResultList(List<T> data)
    • ResultList

      public ResultList(List<T> data, String beforeCursor, String afterCursor, int total)
      Cursor functionality. User has request 'limit' number of entries. The data provided must have 'limit' + 1 number of entries.

      -------------------------------------------------------------------------------------------------------------- Consider forward scrolling: -------------------------------------------------------------------------------------------------------------- Query GET .../entities?limit=pagesize CASE 0: No before or after parameters in the query Returns: page1 beforeCursor = null, -> Indicates first page afterCursor = last record in page1

      Query GET .../entities?limit=pagesize&after={last record in page1} Returns: page2 beforeCursor = first record in page2 afterCursor = last record in page2

      Query GET .../entities?limit=pagesize&after={last record in page2} CASE 1: Page 3 has less than limit number of entries and hence partial page is returned Returns: partial page 3 beforeCursor = first record in page3 afterCursor = null -------- FORWARD SCROLLING ENDS -------------

      CASE 2: Page 3 has exactly page number of entries and not entries to follow after Returns: page3 beforeCursor = first record in page3 afterCursor = null -------- FORWARD SCROLLING ENDS -------------

      -------------------------------------------------------------------------------------------------------------- Consider backward scrolling from the previous state: --------------------------------------------------------------------------------------------------------------

      Query GET .../entities?limit=pagesize&before={last record in page2 + 1} Returns: page2 beforeCursor = first record in page2 afterCursor = last record in page2

      Query GET .../entities?limit=pagesize&before={first record page 2} CASE 3: Page 1 does not have limit number entries and hence partial page is returned Returns: page1 beforeCursor = null afterCursor = last record in page1 -------- BACKWARD SCROLLING ENDS -------------

      CASE 4: Page 1 has exactly page number of entries Returns: page1 beforeCursor = null afterCursor = Empty string to start at page1 -------- BACKWARD SCROLLING ENDS -------------

    • ResultList

      public ResultList(List<T> data, Integer offset, int total)
    • ResultList

      public ResultList(List<T> data, List<EntityError> errors, String beforeCursor, String afterCursor, int total)
  • Method Details