public class AuditSearchQuery
extends java.lang.Object
The AuditSearchQuery object keeps all necessary information to perform query against audit tables via
ReadAuditGateway. It allows to search in standard type related
audit tables as well as in link related audit tables.
Underlying implementation of ReadAuditGateway is not known, in
other words it may or may not be backed by JDBC storage, thus AuditSearchQuery object keeps only information
about Type to be searched and collection of SearchRule objects which are defining which fields in audit table
or which attributes/values in audit payload must be searched. Audit data is divided into two parts - standard
metadata and payload data which contains exact state of all attributes of audited item. SearchRule object
contains method SearchRule.isForPayload() which gives implementor of underlying
ReadAuditGateway information about how to search audit records.
Although this class allows to craft a query which in result reads entire audit table into memory it is highly not recommended. Keep in mind it may causes out of memory errors.
Examples:
Query for all audit records for type and pk:
final AuditSearchQuery query = AuditSearchQuery.forType("MyTypeCode").withSearchRule(ItemPkSearchRule.withPk(pk)).build();
Simplified version of query for all audit records for type and pk:
final AuditSearchQuery query = AuditSearchQuery.forType("MyTypeCode").withPkSearchRules(pk).build();
Query for all audit records for type and several pk's (resulting search must do logical OR):
final AuditSearchQuery query = AuditSearchQuery.forType("MyTypeCode").withPkSearchRules(pk1, pk2, pk3).build();
Query for all audit records for type, pk and particular attribute/value in audit payload:
final AuditSearchQuery query = AuditSearchQuery.forType("MyTypeCode")
.withPkSearchRules(pk)
.withSearchRule(new PayloadSearchRule("fieldInPayload", "someValue"))
.build();
Simplified version of query for all audit records for type, pk and particular attribute/value in audit payload:
final AuditSearchQuery query = AuditSearchQuery.forType("MyTypeCode")
.withPkSearchRules(pk)
.withPayloadSearchRule("fieldInPayload", "someValue")
.build();
de.hybris.platform.persistence.audit.gateway.ReadAuditGateway},
SearchRule}| Modifier and Type | Class and Description |
|---|---|
static class |
AuditSearchQuery.LinkQueryBuilder |
static class |
AuditSearchQuery.QueryBuilder |
| Modifier and Type | Method and Description |
|---|---|
static AuditSearchQuery.LinkQueryBuilder |
forLink(java.lang.String linkTypeCode) |
static AuditSearchQuery.LinkQueryBuilder |
forLink(Type linkType) |
static AuditSearchQuery.QueryBuilder |
forType(java.lang.String typeCode) |
static AuditSearchQuery.QueryBuilder |
forType(Type type) |
LinkAuditRecord.LinkSide |
getLinkSide() |
java.util.List<SearchRule> |
getPayloadSearchRules() |
java.util.List<SearchRule> |
getStandardSearchRules() |
java.lang.String |
getTypeCode() |
boolean |
hasPayloadSearchRules() |
boolean |
hasStandardSearchRules() |
boolean |
isLinkRelatedQuery() |
public java.lang.String getTypeCode()
public LinkAuditRecord.LinkSide getLinkSide()
public boolean isLinkRelatedQuery()
public java.util.List<SearchRule> getStandardSearchRules()
public java.util.List<SearchRule> getPayloadSearchRules()
public boolean hasStandardSearchRules()
public boolean hasPayloadSearchRules()
public static AuditSearchQuery.QueryBuilder forType(java.lang.String typeCode)
public static AuditSearchQuery.QueryBuilder forType(Type type)
public static AuditSearchQuery.LinkQueryBuilder forLink(java.lang.String linkTypeCode)
public static AuditSearchQuery.LinkQueryBuilder forLink(Type linkType)
Copyright © 2018 SAP SE. All Rights Reserved.