Package | Description |
---|---|
uk.gov.gchq.gaffer.accumulostore | |
uk.gov.gchq.gaffer.accumulostore.data.element | |
uk.gov.gchq.gaffer.accumulostore.inputformat | |
uk.gov.gchq.gaffer.accumulostore.key | |
uk.gov.gchq.gaffer.accumulostore.key.core | |
uk.gov.gchq.gaffer.accumulostore.operation.handler | |
uk.gov.gchq.gaffer.accumulostore.operation.impl | |
uk.gov.gchq.gaffer.accumulostore.retriever | |
uk.gov.gchq.gaffer.accumulostore.retriever.impl | |
uk.gov.gchq.gaffer.data |
Core classes for describing the Gaffer data model.
|
uk.gov.gchq.gaffer.data.element |
Core Java data types relating to Gaffer graph elements (entities and edges).
|
uk.gov.gchq.gaffer.data.element.comparison |
Element comparators.
|
uk.gov.gchq.gaffer.data.element.function |
Functional operation objects for Gaffer, based on the Koryphe library.
|
uk.gov.gchq.gaffer.data.elementdefinition.view |
Classes which define the types of Gaffer elements which can be retrieved by operations.
|
uk.gov.gchq.gaffer.data.generator |
Generator classes for transforming between Gaffer elements and domain objects.
|
uk.gov.gchq.gaffer.federated | |
uk.gov.gchq.gaffer.federatedstore.operation.handler | |
uk.gov.gchq.gaffer.flink.operation.handler |
Operation handlers (and associated classes) for operations using the Apache Flink
stream processing framework.
|
uk.gov.gchq.gaffer.graph.hook.migrate.predicate | |
uk.gov.gchq.gaffer.hbasestore | |
uk.gov.gchq.gaffer.hbasestore.operation.handler | |
uk.gov.gchq.gaffer.hbasestore.retriever | |
uk.gov.gchq.gaffer.hbasestore.serialisation | |
uk.gov.gchq.gaffer.hdfs.operation.mapper.generator |
Generators for creating Gaffer elements from a Hadoop MapReduce job.
|
uk.gov.gchq.gaffer.mapstore.factory |
Factory classes for creating Map and MultiMap instances.
|
uk.gov.gchq.gaffer.mapstore.impl |
Implementation details for the MapImpl map-based data store.
|
uk.gov.gchq.gaffer.mapstore.operation |
Operations for the Map store.
|
uk.gov.gchq.gaffer.mapstore.utils |
Additional utility classes for the Map store.
|
uk.gov.gchq.gaffer.operation.data.generator |
Generator implementations for the operation data objects.
|
uk.gov.gchq.gaffer.operation.export.graph |
Implementations of operations for exporting results from Gaffer to another
Gaffer graph.
|
uk.gov.gchq.gaffer.operation.graph |
Extension interfaces for performing filtering on results from operations.
|
uk.gov.gchq.gaffer.operation.impl |
Core operation implementations.
|
uk.gov.gchq.gaffer.operation.impl.add |
Operations for adding elements to a graph.
|
uk.gov.gchq.gaffer.operation.impl.compare |
Operations for comparing objects in a graph.
|
uk.gov.gchq.gaffer.operation.impl.function | |
uk.gov.gchq.gaffer.operation.impl.generate |
Operations for generating alternate representations of elements and objects from
a Gaffer graph.
|
uk.gov.gchq.gaffer.operation.impl.get |
Operations for retrieving elements from a Gaffer graph.
|
uk.gov.gchq.gaffer.operation.impl.output |
Operations for formatting the output of an operation into a required representation.
|
uk.gov.gchq.gaffer.operation.util | |
uk.gov.gchq.gaffer.parquetstore.io.reader |
Classes for reading elements from Parquet files.
|
uk.gov.gchq.gaffer.parquetstore.io.reader.converter |
Parquet object converters.
|
uk.gov.gchq.gaffer.parquetstore.io.writer |
Classes for writing elements to Parquet files.
|
uk.gov.gchq.gaffer.parquetstore.operation.handler |
Handlers and related classes for the Parquet store core operations.
|
uk.gov.gchq.gaffer.parquetstore.operation.handler.spark.utilities |
Utilities used to implement the Spark operations for the Parquet store.
|
uk.gov.gchq.gaffer.parquetstore.operation.handler.utilities |
Utilities used to implement the core operations for the Parquet store.
|
uk.gov.gchq.gaffer.parquetstore.utils |
Utility classes used by the Parquet store.
|
uk.gov.gchq.gaffer.rest.example |
Example domain objects and functions for demonstrating some features of the Gaffer
REST API.
|
uk.gov.gchq.gaffer.rest.service.v1 |
Service implementations for v1 of the Gaffer REST API.
|
uk.gov.gchq.gaffer.sketches | |
uk.gov.gchq.gaffer.spark.data.generator |
Gaffer generators for creating Elements from Spark datatypes.
|
uk.gov.gchq.gaffer.spark.operation.dataframe |
Operation classes for creating and consuming Dataframes using Spark in Gaffer.
|
uk.gov.gchq.gaffer.spark.operation.javardd |
Operation classes for creating and consuming JavaRDDs using Spark in Gaffer.
|
uk.gov.gchq.gaffer.spark.operation.scalardd |
Operation classes for creating and consuming RDDs using Spark in Gaffer.
|
uk.gov.gchq.gaffer.sparkaccumulo.operation.handler |
Spark operation handlers for the Accumulo store.
|
uk.gov.gchq.gaffer.sparkaccumulo.operation.handler.javardd |
Operation handlers for obtaining JavaRDDs from Accumulo using Spark.
|
uk.gov.gchq.gaffer.sparkaccumulo.operation.handler.scalardd |
Operation handlers for obtaining RDDs from Accumulo using Spark.
|
uk.gov.gchq.gaffer.sparkaccumulo.operation.javardd |
Operations for using JavaRDDs with the Accumulo Gaffer store.
|
uk.gov.gchq.gaffer.sparkaccumulo.operation.scalardd |
Operations for using RDDs with the Accumulo Gaffer store.
|
uk.gov.gchq.gaffer.sparkaccumulo.operation.utils.java |
Java utilities to assist with reading/writing data from/to the Gaffer Accumulo
store.
|
uk.gov.gchq.gaffer.sparkaccumulo.operation.utils.scala |
Scala utilities to assist with reading/writing data from/to the Gaffer Accumulo
store.
|
uk.gov.gchq.gaffer.store |
Core classes for the Gaffer store interface.
|
uk.gov.gchq.gaffer.store.element | |
uk.gov.gchq.gaffer.store.operation.handler |
Operation handler implementations.
|
uk.gov.gchq.gaffer.store.operation.handler.compare |
Handlers for comparison operations.
|
uk.gov.gchq.gaffer.store.operation.handler.function | |
uk.gov.gchq.gaffer.store.operation.handler.generate |
Handlers for generate operations.
|
uk.gov.gchq.gaffer.store.operation.util | |
uk.gov.gchq.gaffer.store.serialiser |
Serialiser implementations for stores.
|
uk.gov.gchq.gaffer.store.util |
Utility classes for the store classes.
|
uk.gov.gchq.gaffer.traffic.generator |
Modifier and Type | Method and Description |
---|---|
void |
AccumuloStore.addElements(Iterable<? extends Element> elements)
Method to add
Element s into Accumulo. |
Modifier and Type | Method and Description |
---|---|
void |
AccumuloEntityValueLoader.loadIdentifiers(Element entity) |
void |
AccumuloEdgeValueLoader.loadIdentifiers(Element edge) |
Modifier and Type | Method and Description |
---|---|
org.apache.hadoop.mapreduce.RecordReader<Element,org.apache.hadoop.io.NullWritable> |
ElementInputFormat.createRecordReader(org.apache.hadoop.mapreduce.InputSplit split,
org.apache.hadoop.mapreduce.TaskAttemptContext context) |
Modifier and Type | Method and Description |
---|---|
static boolean |
ElementInputFormat.doPostFilter(Element element,
View view) |
static boolean |
ElementInputFormat.postFilter(Element element,
ElementFilter postFilter) |
Modifier and Type | Method and Description |
---|---|
Element |
AccumuloElementConverter.getElementFromKey(org.apache.accumulo.core.data.Key key,
boolean includeMatchedVertex)
Gets a new
Element from an Accumulo Key . |
Element |
AccumuloElementConverter.getFullElement(org.apache.accumulo.core.data.Key key,
org.apache.accumulo.core.data.Value value,
boolean includeMatchedVertex)
|
Modifier and Type | Method and Description |
---|---|
Pair<org.apache.accumulo.core.data.Key,org.apache.accumulo.core.data.Key> |
AccumuloElementConverter.getKeysFromElement(Element element)
|
Pair<byte[],byte[]> |
AccumuloElementConverter.getRowKeysFromElement(Element element)
Creates a byte array representing the Element identifiers, this will be
stored in the Accumulo row Key.
|
org.apache.accumulo.core.data.Value |
AccumuloElementConverter.getValueFromElement(Element element)
Converts the
Properties in an element to an
Accumulo Value where the property has a position within the store
schema that indicates it should be stored in the value. |
Modifier and Type | Method and Description |
---|---|
Element |
AbstractCoreKeyAccumuloElementConverter.getElementFromKey(org.apache.accumulo.core.data.Key key,
boolean includeMatchedVertex) |
Element |
AbstractCoreKeyAccumuloElementConverter.getFullElement(org.apache.accumulo.core.data.Key key,
org.apache.accumulo.core.data.Value value,
boolean includeMatchedVertex) |
Modifier and Type | Method and Description |
---|---|
Pair<org.apache.accumulo.core.data.Key,org.apache.accumulo.core.data.Key> |
AbstractCoreKeyAccumuloElementConverter.getKeysFromElement(Element element) |
Pair<byte[],byte[]> |
AbstractCoreKeyAccumuloElementConverter.getRowKeysFromElement(Element element) |
org.apache.accumulo.core.data.Value |
AbstractCoreKeyAccumuloElementConverter.getValueFromElement(Element element) |
Modifier and Type | Method and Description |
---|---|
CloseableIterable<? extends Element> |
GetAllElementsHandler.doOperation(GetAllElements operation,
Context context,
Store store) |
CloseableIterable<? extends Element> |
GetAllElementsHandler.doOperation(GetAllElements operation,
User user,
AccumuloStore store) |
CloseableIterable<? extends Element> |
GetElementsBetweenSetsHandler.doOperation(GetElementsBetweenSets operation,
Context context,
Store store) |
CloseableIterable<? extends Element> |
GetElementsBetweenSetsHandler.doOperation(GetElementsBetweenSets operation,
User user,
AccumuloStore store) |
CloseableIterable<? extends Element> |
GetElementsHandler.doOperation(GetElements operation,
Context context,
Store store) |
CloseableIterable<? extends Element> |
GetElementsInRangesHandler.doOperation(GetElementsInRanges operation,
Context context,
Store store) |
CloseableIterable<? extends Element> |
GetElementsInRangesHandler.doOperation(GetElementsInRanges operation,
User user,
AccumuloStore store) |
CloseableIterable<? extends Element> |
GetElementsHandler.doOperation(GetElements operation,
User user,
AccumuloStore store) |
CloseableIterable<? extends Element> |
GetElementsWithinSetHandler.doOperation(GetElementsWithinSet operation,
Context context,
Store store) |
CloseableIterable<? extends Element> |
GetElementsWithinSetHandler.doOperation(GetElementsWithinSet operation,
User user,
AccumuloStore store) |
CloseableIterable<? extends Element> |
SummariseGroupOverRangesHandler.doOperation(SummariseGroupOverRanges operation,
Context context,
Store store) |
CloseableIterable<? extends Element> |
SummariseGroupOverRangesHandler.doOperation(SummariseGroupOverRanges operation,
User user,
AccumuloStore store) |
Modifier and Type | Method and Description |
---|---|
com.fasterxml.jackson.core.type.TypeReference<CloseableIterable<? extends Element>> |
GetElementsWithinSet.getOutputTypeReference() |
com.fasterxml.jackson.core.type.TypeReference<CloseableIterable<? extends Element>> |
GetElementsInRanges.getOutputTypeReference() |
com.fasterxml.jackson.core.type.TypeReference<CloseableIterable<? extends Element>> |
SummariseGroupOverRanges.getOutputTypeReference() |
com.fasterxml.jackson.core.type.TypeReference<CloseableIterable<? extends Element>> |
GetElementsBetweenSets.getOutputTypeReference() |
Modifier and Type | Class and Description |
---|---|
class |
AccumuloItemRetriever<OP extends Output<CloseableIterable<? extends Element>> & GraphFilters,I_ITEM> |
class |
AccumuloSetRetriever<OP extends InputOutput<Iterable<? extends EntityId>,CloseableIterable<? extends Element>> & GraphFilters> |
Modifier and Type | Method and Description |
---|---|
CloseableIterator<Element> |
AccumuloSetRetriever.iterator()
Only 1 iterator can be open at a time.
|
CloseableIterator<Element> |
AccumuloItemRetriever.iterator()
Only 1 iterator can be open at a time.
|
Modifier and Type | Method and Description |
---|---|
boolean |
AccumuloRetriever.doPostFilter(Element element)
Performs any post Filtering specified in a view on an element
|
void |
AccumuloRetriever.doTransformation(Element element)
Performs any transformations specified in a view on an element
|
Modifier and Type | Class and Description |
---|---|
class |
AccumuloRangeIDRetriever<OP extends InputOutput<Iterable<? extends Pair<? extends ElementId,? extends ElementId>>,CloseableIterable<? extends Element>> & GraphFilters>
This allows queries for all data from between the provided
ElementId pairs. |
class |
AccumuloSingleIDRetriever<OP extends InputOutput<Iterable<? extends ElementId>,CloseableIterable<? extends Element>> & GraphFilters>
This allows queries for all data related to the provided
ElementId s. |
Modifier and Type | Method and Description |
---|---|
CloseableIterator<Element> |
AccumuloAllElementsRetriever.iterator()
Only 1 iterator can be open at a time.
|
Modifier and Type | Method and Description |
---|---|
boolean |
IsEntityValidator.validate(Element element) |
boolean |
IsEdgeValidator.validate(Element element) |
Modifier and Type | Class and Description |
---|---|
class |
Edge
An
Edge in an Element containing a source, destination and a directed flag. |
class |
Entity
An
Entity in an Element containing a single vertex. |
class |
LazyEdge
An
LazyEdge wraps an Edge and lazily loads identifiers and properties when
requested using a provided ElementValueLoader . |
class |
LazyEntity
An
LazyEntity wraps an Entity and lazily loads the identifier and properties when
requested using a provided ElementValueLoader . |
Modifier and Type | Method and Description |
---|---|
abstract Element |
Element.emptyClone() |
Element |
Element.getElement() |
Element |
ElementTuple.getElement() |
Element |
Element.shallowClone() |
Modifier and Type | Method and Description |
---|---|
void |
ElementValueLoader.loadIdentifiers(Element element)
The loaded identifiers should be set on the provided element
|
void |
ElementTuple.setElement(Element element) |
boolean |
Element.shallowEquals(Element element) |
Constructor and Description |
---|
ElementTuple(Element element) |
Modifier and Type | Method and Description |
---|---|
int |
ElementPropertyComparator.compare(Element e1,
Element e2) |
boolean |
ElementJoinComparator.test(Element element,
Element element2) |
Modifier and Type | Method and Description |
---|---|
Element |
ElementTransformer.apply(Element element) |
Element |
ElementAggregator.apply(Element state,
Element element)
Aggregates the element.
|
Modifier and Type | Method and Description |
---|---|
Iterable<Element> |
ReduceRelatedElements.apply(Iterable<Element> elements) |
Iterable<Element> |
TuplesToElements.apply(Iterable<uk.gov.gchq.koryphe.tuple.Tuple<String>> tuples) |
Iterable<Element> |
TupleToElements.apply(uk.gov.gchq.koryphe.tuple.Tuple<String> tuple) |
Modifier and Type | Method and Description |
---|---|
Element |
ElementTransformer.apply(Element element) |
Object |
ExtractId.apply(Element element) |
String |
ExtractGroup.apply(Element element) |
ElementTuple |
ToElementTuple.apply(Element element) |
Object |
ExtractProperty.apply(Element element) |
Element |
ElementAggregator.apply(Element state,
Element element)
Aggregates the element.
|
boolean |
ElementFilter.test(Element element) |
uk.gov.gchq.koryphe.ValidationResult |
ElementFilter.testWithValidationResult(Element element) |
Modifier and Type | Method and Description |
---|---|
Iterable<Element> |
ReduceRelatedElements.apply(Iterable<Element> elements) |
Modifier and Type | Method and Description |
---|---|
static void |
ViewUtil.removeProperties(View view,
Element element)
Remove properties from the supplied element, according to the
ViewElementDefinition
in the View . |
static void |
ViewUtil.removeProperties(ViewElementDefinition elDef,
Element element)
Remove properties from the supplied element, according to the
ViewElementDefinition . |
Modifier and Type | Method and Description |
---|---|
Element |
OneToOneElementGenerator._apply(OBJ domainObject) |
Element |
JsonToElementGenerator._apply(String json) |
Modifier and Type | Method and Description |
---|---|
Iterable<Element> |
OneToManyElementGenerator._apply(OBJ domainObject) |
default Iterable<? extends Element> |
OneToOneElementGenerator.apply(Iterable<? extends OBJ> domainObjects) |
default Iterable<? extends Element> |
OneToManyElementGenerator.apply(Iterable<? extends OBJ> domainObjects) |
Modifier and Type | Method and Description |
---|---|
Map<String,Object> |
MapGenerator._apply(Element element) |
OBJ |
OneToOneObjectGenerator._apply(Element element) |
String |
CsvGenerator._apply(Element element) |
Modifier and Type | Method and Description |
---|---|
default Iterable<? extends OBJ> |
OneToOneObjectGenerator.apply(Iterable<? extends Element> elements) |
Modifier and Type | Method and Description |
---|---|
Iterable<Element> |
IndexGenerator._apply(Element element) |
Modifier and Type | Method and Description |
---|---|
Iterable<Element> |
IndexGenerator._apply(Element element) |
ElementId |
ToElementSeed.apply(Element element) |
Modifier and Type | Method and Description |
---|---|
Iterable<? extends Element> |
FederatedAggregateHandler.doOperation(Aggregate operation,
Context context,
Store store) |
Iterable<? extends Element> |
FederatedFilterHandler.doOperation(Filter operation,
Context context,
Store store) |
Iterable<? extends Element> |
FederatedTransformHandler.doOperation(Transform operation,
Context context,
Store store) |
Iterable<? extends Element> |
FederatedValidateHandler.doOperation(Validate operation,
Context context,
Store store) |
Modifier and Type | Method and Description |
---|---|
void |
GafferAdder.add(Element element) |
void |
GafferSink.invoke(Element element) |
void |
GafferOutput.writeRecord(Element element) |
Modifier and Type | Method and Description |
---|---|
void |
GafferMapFunction.flatMap(T item,
org.apache.flink.util.Collector<Element> out) |
Constructor and Description |
---|
AddElementsFromFileHandler(org.apache.flink.api.common.io.RichOutputFormat<Element> outputFormat) |
AddElementsFromKafkaHandler(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment env,
org.apache.flink.streaming.api.functions.sink.SinkFunction<Element> sink) |
AddElementsFromSocketHandler(org.apache.flink.streaming.api.functions.sink.SinkFunction<Element> sink) |
GafferMapFunction(Class<T> consumeAs,
Class<? extends Function<Iterable<? extends T>,Iterable<? extends Element>>> generatorClassName) |
Modifier and Type | Method and Description |
---|---|
boolean |
TransformAndFilter.test(Element element) |
Modifier and Type | Method and Description |
---|---|
<OP extends Output<CloseableIterable<? extends Element>> & GraphFilters> |
HBaseStore.createRetriever(OP operation,
User user,
Iterable<? extends ElementId> ids,
boolean includeMatchedVertex,
Class<?>... extraProcessors)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
CloseableIterable<? extends Element> |
GetAllElementsHandler.doOperation(GetAllElements operation,
Context context,
Store store) |
CloseableIterable<? extends Element> |
GetElementsHandler.doOperation(GetElements operation,
Context context,
Store store) |
Modifier and Type | Class and Description |
---|---|
class |
HBaseRetriever<OP extends Output<CloseableIterable<? extends Element>> & GraphFilters> |
Modifier and Type | Method and Description |
---|---|
CloseableIterator<Element> |
HBaseRetriever.iterator() |
Modifier and Type | Method and Description |
---|---|
Element |
LazyElementCell.getElement() |
Element |
ElementSerialisation.getElement(org.apache.hadoop.hbase.Cell cell,
boolean includeMatchedVertex) |
Element |
ElementSerialisation.getPartialElement(String group,
byte[] rowId,
boolean includeMatchedVertex) |
Modifier and Type | Method and Description |
---|---|
Pair<org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell> |
ElementSerialisation.getCells(Element element,
org.apache.hadoop.hbase.mapreduce.CellCreator kvCreator) |
Pair<org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell> |
ElementSerialisation.getCells(Element element,
Pair<byte[],byte[]> row,
byte[] cq,
org.apache.hadoop.hbase.mapreduce.CellCreator kvCreator) |
byte[] |
ElementSerialisation.getColumnQualifier(Element element) |
byte[] |
ElementSerialisation.getColumnVisibility(Element element) |
Pair<org.apache.hadoop.hbase.client.Put,org.apache.hadoop.hbase.client.Put> |
ElementSerialisation.getPuts(Element element) |
Pair<org.apache.hadoop.hbase.client.Put,org.apache.hadoop.hbase.client.Put> |
ElementSerialisation.getPuts(Element element,
Pair<byte[],byte[]> row,
byte[] cq) |
Pair<byte[],byte[]> |
ElementSerialisation.getRowKeys(Element element) |
long |
ElementSerialisation.getTimestamp(Element element) |
byte[] |
ElementSerialisation.getValue(Element element) |
void |
LazyElementCell.setElement(Element element) |
Modifier and Type | Method and Description |
---|---|
Function<Iterable<? extends OBJ>,Iterable<? extends Element>> |
AvroMapperGenerator.getElementGenerator() |
Function<Iterable<? extends String>,Iterable<? extends Element>> |
TextMapperGenerator.getElementGenerator() |
Iterable<? extends Element> |
AvroMapperGenerator.getElements(org.apache.avro.mapred.AvroKey<OBJ> keyIn,
org.apache.hadoop.io.NullWritable valueIn,
org.apache.hadoop.mapreduce.MapContext<org.apache.avro.mapred.AvroKey<OBJ>,org.apache.hadoop.io.NullWritable,?,?> context) |
Iterable<? extends Element> |
MapperGenerator.getElements(KEY_IN keyIn,
VALUE_IN valueIn,
org.apache.hadoop.mapreduce.MapContext<KEY_IN,VALUE_IN,?,?> context) |
Iterable<? extends Element> |
TextMapperGenerator.getElements(org.apache.hadoop.io.LongWritable keyIn,
org.apache.hadoop.io.Text valueIn,
org.apache.hadoop.mapreduce.MapContext<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.Text,?,?> context) |
Modifier and Type | Method and Description |
---|---|
void |
AvroMapperGenerator.setElementGenerator(Function<Iterable<? extends OBJ>,Iterable<? extends Element>> elementGenerator) |
void |
TextMapperGenerator.setElementGenerator(Function<Iterable<? extends String>,Iterable<? extends Element>> elementGenerator) |
Constructor and Description |
---|
AvroMapperGenerator(Function<Iterable<? extends OBJ>,Iterable<? extends Element>> elementGenerator) |
TextMapperGenerator(Function<Iterable<? extends String>,Iterable<? extends Element>> elementGenerator) |
Modifier and Type | Method and Description |
---|---|
Element |
MapFactory.cloneElement(Element element,
Schema schema)
Clone an element.
|
Element |
SimpleMapFactory.cloneElement(Element element,
Schema schema) |
Modifier and Type | Method and Description |
---|---|
Element |
MapFactory.cloneElement(Element element,
Schema schema)
Clone an element.
|
Element |
SimpleMapFactory.cloneElement(Element element,
Schema schema) |
Modifier and Type | Method and Description |
---|---|
static Stream<Element> |
GetElementsUtil.applyDirectedTypeFilter(Stream<Element> elements,
boolean includeEdges,
DirectedType directedType) |
static Stream<Element> |
GetElementsUtil.applyView(Stream<Element> elementStream,
Schema schema,
View view) |
static Stream<Element> |
GetElementsUtil.applyView(Stream<Element> elementStream,
Schema schema,
View view,
boolean includeMatchedVertex) |
static Stream<Element> |
GetElementsUtil.applyVisibilityFilter(Stream<Element> elements,
Schema schema,
User user) |
CloseableIterable<? extends Element> |
GetAllElementsHandler.doOperation(GetAllElements operation,
Context context,
Store store) |
CloseableIterable<Element> |
GetElementsHandler.doOperation(GetElements operation,
Context context,
Store store) |
static Set<Element> |
GetElementsUtil.getRelevantElements(MapImpl mapImpl,
ElementId elementId,
View view,
DirectedType directedType,
SeededGraphFilters.IncludeIncomingOutgoingType inOutType,
SeedMatching.SeedMatchingType seedMatchingType) |
Modifier and Type | Method and Description |
---|---|
static Stream<Element> |
GetElementsUtil.applyDirectedTypeFilter(Stream<Element> elements,
boolean includeEdges,
DirectedType directedType) |
static Stream<Element> |
GetElementsUtil.applyView(Stream<Element> elementStream,
Schema schema,
View view) |
static Stream<Element> |
GetElementsUtil.applyView(Stream<Element> elementStream,
Schema schema,
View view,
boolean includeMatchedVertex) |
static Stream<Element> |
GetElementsUtil.applyVisibilityFilter(Stream<Element> elements,
Schema schema,
User user) |
Modifier and Type | Method and Description |
---|---|
Iterable<? extends Element> |
CountAllElementsDefaultView.getInput() |
Modifier and Type | Method and Description |
---|---|
void |
CountAllElementsDefaultView.setInput(Iterable<? extends Element> input) |
Modifier and Type | Method and Description |
---|---|
Element |
ElementCloner.cloneElement(Element element,
Schema schema)
|
Modifier and Type | Method and Description |
---|---|
Element |
ElementCloner.cloneElement(Element element,
Schema schema)
|
Modifier and Type | Method and Description |
---|---|
EntityId |
EntityIdExtractor._apply(Element element) |
EdgeId |
EdgeIdExtractor._apply(Element element) |
Modifier and Type | Method and Description |
---|---|
Iterable<? extends Element> |
ExportToOtherGraph.getInput() |
Iterable<? extends Element> |
ExportToOtherAuthorisedGraph.getInput() |
com.fasterxml.jackson.core.type.TypeReference<Iterable<? extends Element>> |
ExportToOtherGraph.getOutputTypeReference() |
com.fasterxml.jackson.core.type.TypeReference<Iterable<? extends Element>> |
ExportToOtherAuthorisedGraph.getOutputTypeReference() |
Modifier and Type | Method and Description |
---|---|
void |
ExportToOtherGraph.setInput(Iterable<? extends Element> input) |
void |
ExportToOtherAuthorisedGraph.setInput(Iterable<? extends Element> input) |
Modifier and Type | Method and Description |
---|---|
default boolean |
OperationView.validate(Element element) |
default boolean |
OperationView.validatePostAggregationFilter(Element element)
Validates an element against the post aggregation filters contained in the operation View.
|
default boolean |
OperationView.validatePostTransformFilter(Element element)
Validates an element against the post transform filters contained in the operation View.
|
default boolean |
OperationView.validatePreAggregationFilter(Element element)
Validates an element against the pre aggregation contained in the operation View.
|
Modifier and Type | Method and Description |
---|---|
Iterable<? extends Element> |
SampleElementsForSplitPoints.getInput() |
Iterable<? extends Element> |
Validate.getInput() |
Iterable<? extends Element> |
CountGroups.getInput() |
List<OperationChain<Iterable<Element>>> |
GetWalks.getOperations() |
com.fasterxml.jackson.core.type.TypeReference<Iterable<? extends Element>> |
Validate.getOutputTypeReference() |
Modifier and Type | Method and Description |
---|---|
void |
GetWalks.addOperations(List<Output<Iterable<Element>>> operations) |
GetWalks.Builder |
GetWalks.Builder.addOperations(List<Output<Iterable<Element>>> operations) |
GetWalks.Builder |
GetWalks.Builder.operations(List<Output<Iterable<Element>>> operations) |
void |
SampleElementsForSplitPoints.setInput(Iterable<? extends Element> input) |
void |
Validate.setInput(Iterable<? extends Element> input) |
void |
CountGroups.setInput(Iterable<? extends Element> input) |
void |
GetWalks.setOperations(List<Output<Iterable<Element>>> operations) |
Modifier and Type | Method and Description |
---|---|
Class<? extends Function<Iterable<?>,Iterable<? extends Element>>> |
AddElementsFromKafka.getElementGenerator() |
Class<? extends Function<Iterable<? extends String>,Iterable<? extends Element>>> |
AddElementsFromFile.getElementGenerator() |
Class<? extends Function<Iterable<? extends String>,Iterable<? extends Element>>> |
AddElementsFromSocket.getElementGenerator() |
Iterable<? extends Element> |
AddElements.getInput() |
Modifier and Type | Method and Description |
---|---|
AddElementsFromKafka.Builder |
AddElementsFromKafka.Builder.generator(Class<? extends Function<Iterable<? extends String>,Iterable<? extends Element>>> generator) |
AddElementsFromFile.Builder |
AddElementsFromFile.Builder.generator(Class<? extends Function<Iterable<? extends String>,Iterable<? extends Element>>> generator) |
AddElementsFromSocket.Builder |
AddElementsFromSocket.Builder.generator(Class<? extends Function<Iterable<? extends String>,Iterable<? extends Element>>> generator) |
void |
AddElementsFromKafka.setElementGenerator(Class<? extends Function<Iterable<?>,Iterable<? extends Element>>> elementGenerator) |
void |
AddElementsFromFile.setElementGenerator(Class<? extends Function<Iterable<? extends String>,Iterable<? extends Element>>> elementGenerator) |
void |
AddElementsFromSocket.setElementGenerator(Class<? extends Function<Iterable<? extends String>,Iterable<? extends Element>>> elementGenerator) |
void |
AddElements.setInput(Iterable<? extends Element> elements) |
Modifier and Type | Method and Description |
---|---|
default Comparator<Element> |
ElementComparison.getCombinedComparator()
Combine all currently registered comparators into a single
Comparator
object. |
List<Comparator<Element>> |
ElementComparison.getComparators()
Get the list of
Element comparators registered to the operation. |
List<Comparator<Element>> |
Sort.getComparators() |
List<Comparator<Element>> |
Max.getComparators() |
List<Comparator<Element>> |
Min.getComparators() |
Iterable<? extends Element> |
Sort.getInput() |
Iterable<? extends Element> |
Max.getInput() |
Iterable<? extends Element> |
Min.getInput() |
com.fasterxml.jackson.core.type.TypeReference<Iterable<? extends Element>> |
Sort.getOutputTypeReference() |
com.fasterxml.jackson.core.type.TypeReference<Element> |
Max.getOutputTypeReference() |
com.fasterxml.jackson.core.type.TypeReference<Element> |
Min.getOutputTypeReference() |
Modifier and Type | Method and Description |
---|---|
Sort.Builder |
Sort.Builder.comparators(List<Comparator<Element>> comparators) |
Max.Builder |
Max.Builder.comparators(List<Comparator<Element>> comparators) |
Min.Builder |
Min.Builder.comparators(List<Comparator<Element>> comparators) |
void |
Sort.setComparators(List<Comparator<Element>> comparators) |
void |
Max.setComparators(List<Comparator<Element>> comparators) |
void |
Min.setComparators(List<Comparator<Element>> comparators) |
void |
Sort.setInput(Iterable<? extends Element> input) |
void |
Max.setInput(Iterable<? extends Element> input) |
void |
Min.setInput(Iterable<? extends Element> input) |
Modifier and Type | Method and Description |
---|---|
Iterable<? extends Element> |
Aggregate.getInput() |
Iterable<? extends Element> |
Transform.getInput() |
Iterable<? extends Element> |
Filter.getInput() |
com.fasterxml.jackson.core.type.TypeReference<Iterable<? extends Element>> |
Aggregate.getOutputTypeReference() |
com.fasterxml.jackson.core.type.TypeReference<Iterable<? extends Element>> |
Transform.getOutputTypeReference() |
com.fasterxml.jackson.core.type.TypeReference<Iterable<? extends Element>> |
Filter.getOutputTypeReference() |
Modifier and Type | Method and Description |
---|---|
void |
Aggregate.setInput(Iterable<? extends Element> input) |
void |
Transform.setInput(Iterable<? extends Element> input) |
void |
Filter.setInput(Iterable<? extends Element> input) |
Modifier and Type | Method and Description |
---|---|
Function<Iterable<? extends OBJ>,Iterable<? extends Element>> |
GenerateElements.getElementGenerator() |
Function<Iterable<? extends Element>,Iterable<? extends OBJ>> |
GenerateObjects.getElementGenerator() |
Iterable<? extends Element> |
GenerateObjects.getInput() |
com.fasterxml.jackson.core.type.TypeReference<Iterable<? extends Element>> |
GenerateElements.getOutputTypeReference() |
Modifier and Type | Method and Description |
---|---|
GenerateObjects.Builder<OBJ> |
GenerateObjects.Builder.generator(Function<Iterable<? extends Element>,Iterable<? extends OBJ>> generator) |
GenerateElements.Builder<OBJ> |
GenerateElements.Builder.generator(Function<Iterable<? extends OBJ>,Iterable<? extends Element>> generator) |
void |
GenerateObjects.setInput(Iterable<? extends Element> input) |
Constructor and Description |
---|
GenerateElements(Function<Iterable<? extends OBJ>,Iterable<? extends Element>> elementGenerator)
|
GenerateObjects(Function<Iterable<? extends Element>,Iterable<? extends OBJ>> elementGenerator)
|
Modifier and Type | Method and Description |
---|---|
com.fasterxml.jackson.core.type.TypeReference<CloseableIterable<? extends Element>> |
GetElements.getOutputTypeReference()
Get the output type which in this case is
CloseableIterable of Element s |
com.fasterxml.jackson.core.type.TypeReference<CloseableIterable<? extends Element>> |
GetAllElements.getOutputTypeReference() |
Modifier and Type | Method and Description |
---|---|
Iterable<? extends Element> |
ToMap.getInput() |
Iterable<? extends Element> |
ToCsv.getInput() |
Modifier and Type | Method and Description |
---|---|
void |
ToMap.setInput(Iterable<? extends Element> input) |
void |
ToCsv.setInput(Iterable<? extends Element> input) |
Modifier and Type | Method and Description |
---|---|
Stream<Element> |
FilterStreamSupplier.get() |
Modifier and Type | Method and Description |
---|---|
Element |
ElementRecordMaterialiser.getCurrentRecord() |
Modifier and Type | Method and Description |
---|---|
org.apache.parquet.io.api.RecordMaterializer<Element> |
ElementReadSupport.prepareForRead(org.apache.hadoop.conf.Configuration configuration,
Map<String,String> map,
org.apache.parquet.schema.MessageType parquetSchema,
org.apache.parquet.hadoop.api.ReadSupport.ReadContext readContext) |
Modifier and Type | Method and Description |
---|---|
Element |
GafferElementConverter.getCurrentRecord() |
Modifier and Type | Method and Description |
---|---|
void |
ElementWriteSupport.write(Element element) |
void |
ElementWriter.writeElement(Element element) |
Modifier and Type | Method and Description |
---|---|
CloseableIterable<? extends Element> |
GetAllElementsHandler.doOperation(GetAllElements operation,
Context context,
Store store) |
CloseableIterable<? extends Element> |
GetElementsHandler.doOperation(GetElements operation,
Context context,
Store store) |
Modifier and Type | Method and Description |
---|---|
void |
WriteData.call(Iterator<Element> elements) |
Modifier and Type | Method and Description |
---|---|
CloseableIterator<Element> |
ParquetElementRetriever.iterator() |
Modifier and Type | Method and Description |
---|---|
void |
WriteUnsortedData.writeElements(Iterable<? extends Element> elements) |
Constructor and Description |
---|
RetrieveElementsFromFile(org.apache.hadoop.fs.Path filePath,
org.apache.parquet.filter2.predicate.FilterPredicate filter,
Schema gafferSchema,
ConcurrentLinkedQueue<Element> queue,
boolean needsValidatorsAndFiltersApplying,
boolean skipValidation,
View view,
User user) |
Modifier and Type | Method and Description |
---|---|
Element |
GafferGroupObjectConverter.buildElementFromParquetObjects(Map<String,Object[]> parquetColumnToObject,
boolean isEntity)
Builds up a Gaffer element using a map of parquetColumn to Object[] containing the relevant objects stored in that column
|
Modifier and Type | Method and Description |
---|---|
Object[] |
GafferGroupObjectConverter.corePropertiesToParquetObjects(Element element) |
Modifier and Type | Method and Description |
---|---|
Element |
ExampleElementGenerator._apply(ExampleDomainObject obj) |
Modifier and Type | Method and Description |
---|---|
ExampleDomainObject |
ExampleDomainObjectGenerator._apply(Element element) |
Modifier and Type | Method and Description |
---|---|
CloseableIterable<Element> |
IOperationService.generateElements(GenerateElements<Object> operation) |
CloseableIterable<Element> |
OperationService.generateElements(GenerateElements<Object> operation) |
CloseableIterable<Element> |
IOperationService.getAllElements(GetAllElements operation) |
CloseableIterable<Element> |
OperationService.getAllElements(GetAllElements operation) |
CloseableIterable<Element> |
IOperationService.getElements(GetElements operation) |
CloseableIterable<Element> |
OperationService.getElements(GetElements operation) |
Modifier and Type | Method and Description |
---|---|
org.glassfish.jersey.server.ChunkedOutput<String> |
IOperationService.executeChunkedChain(OperationChainDAO<CloseableIterable<Element>> opChain) |
Modifier and Type | Method and Description |
---|---|
Iterable<Element> |
CardinalityEntityGenerator._apply(Element element) |
Modifier and Type | Method and Description |
---|---|
Iterable<Element> |
CardinalityEntityGenerator._apply(Element element) |
Modifier and Type | Method and Description |
---|---|
Element |
RowToElementGenerator._apply(org.apache.spark.sql.Row row) |
Modifier and Type | Method and Description |
---|---|
Iterable<? extends Element> |
RowToElementGenerator.apply(Iterable<? extends org.apache.spark.sql.Row> rows) |
Modifier and Type | Field and Description |
---|---|
static scala.reflect.ClassTag<Element> |
ClassTagConstants.ELEMENT_CLASS_TAG |
Modifier and Type | Method and Description |
---|---|
Output<org.apache.spark.rdd.RDD<Element>> |
FiltersToOperationConverter.getOperation()
Creates an operation to return an RDD in which as much filtering as possible has been carried out by Gaffer
in Accumulo's tablet servers before the data is sent to a Spark executor.
|
Modifier and Type | Method and Description |
---|---|
org.apache.spark.sql.Row |
ConvertElementToRow.apply(Element element) |
Modifier and Type | Method and Description |
---|---|
org.apache.spark.api.java.JavaRDD<Element> |
ImportJavaRDDOfElements.getInput() |
org.apache.spark.api.java.JavaRDD<Element> |
SplitStoreFromJavaRDDOfElements.getInput() |
com.fasterxml.jackson.core.type.TypeReference<org.apache.spark.api.java.JavaRDD<Element>> |
GetJavaRDDOfElements.getOutputTypeReference() |
com.fasterxml.jackson.core.type.TypeReference<org.apache.spark.api.java.JavaRDD<Element>> |
GetJavaRDDOfAllElements.getOutputTypeReference() |
Modifier and Type | Method and Description |
---|---|
void |
ImportJavaRDDOfElements.setInput(org.apache.spark.api.java.JavaRDD<Element> input) |
void |
SplitStoreFromJavaRDDOfElements.setInput(org.apache.spark.api.java.JavaRDD<Element> input) |
Modifier and Type | Method and Description |
---|---|
org.apache.spark.rdd.RDD<Element> |
ImportRDDOfElements.getInput() |
org.apache.spark.rdd.RDD<Element> |
SplitStoreFromRDDOfElements.getInput() |
com.fasterxml.jackson.core.type.TypeReference<org.apache.spark.rdd.RDD<Element>> |
GetRDDOfElements.getOutputTypeReference() |
com.fasterxml.jackson.core.type.TypeReference<org.apache.spark.rdd.RDD<Element>> |
GetRDDOfAllElements.getOutputTypeReference() |
Modifier and Type | Method and Description |
---|---|
void |
ImportRDDOfElements.setInput(org.apache.spark.rdd.RDD<Element> input) |
void |
SplitStoreFromRDDOfElements.setInput(org.apache.spark.rdd.RDD<Element> input) |
Modifier and Type | Method and Description |
---|---|
Element |
AbstractGetRDDHandler.FirstElement.apply(scala.Tuple2<Element,org.apache.hadoop.io.NullWritable> tuple) |
Modifier and Type | Method and Description |
---|---|
Element |
AbstractGetRDDHandler.FirstElement.apply(scala.Tuple2<Element,org.apache.hadoop.io.NullWritable> tuple) |
Modifier and Type | Method and Description |
---|---|
org.apache.spark.api.java.JavaRDD<Element> |
GetJavaRDDOfAllElementsHandler.doOperation(GetJavaRDDOfAllElements operation,
Context context,
Store store) |
org.apache.spark.api.java.JavaRDD<Element> |
GetJavaRDDOfElementsHandler.doOperation(GetJavaRDDOfElements operation,
Context context,
Store store) |
org.apache.spark.api.java.JavaRDD<Element> |
GetJavaRDDOfElementsInRangesHandler.doOperation(GetJavaRDDOfElementsInRanges operation,
Context context,
Store store) |
Modifier and Type | Method and Description |
---|---|
Element |
GetRDDOfAllElementsHandler.EntryToElement.apply(Map.Entry<org.apache.accumulo.core.data.Key,org.apache.accumulo.core.data.Value> entry) |
Modifier and Type | Method and Description |
---|---|
scala.collection.Iterator<Element> |
GetRDDOfAllElementsHandler.EntryIteratorToElementIterator.apply(scala.collection.Iterator<Map.Entry<org.apache.accumulo.core.data.Key,org.apache.accumulo.core.data.Value>> entryIterator) |
org.apache.spark.rdd.RDD<Element> |
GetRDDOfAllElementsHandler.doOperation(GetRDDOfAllElements operation,
Context context,
Store store) |
org.apache.spark.rdd.RDD<Element> |
GetRDDOfElementsHandler.doOperation(GetRDDOfElements operation,
Context context,
Store store) |
org.apache.spark.rdd.RDD<Element> |
GetRDDOfElementsInRangesHandler.doOperation(GetRDDOfElementsInRanges operation,
Context context,
Store store) |
Modifier and Type | Method and Description |
---|---|
Object |
GetRDDOfAllElementsHandler.FilterOutNull.apply(Element element) |
Modifier and Type | Method and Description |
---|---|
com.fasterxml.jackson.core.type.TypeReference<org.apache.spark.api.java.JavaRDD<Element>> |
GetJavaRDDOfElementsInRanges.getOutputTypeReference() |
Modifier and Type | Method and Description |
---|---|
com.fasterxml.jackson.core.type.TypeReference<org.apache.spark.rdd.RDD<Element>> |
GetRDDOfElementsInRanges.getOutputTypeReference() |
Modifier and Type | Method and Description |
---|---|
Iterator<scala.Tuple2<org.apache.accumulo.core.data.Key,org.apache.accumulo.core.data.Value>> |
ElementConverterFunction.call(Element e) |
Modifier and Type | Method and Description |
---|---|
scala.collection.TraversableOnce<scala.Tuple2<org.apache.accumulo.core.data.Key,org.apache.accumulo.core.data.Value>> |
ElementConverterFunction.apply(Element element) |
Modifier and Type | Method and Description |
---|---|
Element |
Store.populateElement(Element lazyElement)
Ensures all identifier and property values are populated on an element by
triggering getters on the element for
all identifier and properties in the
Schema forcing a lazy
element to load all of its values. |
Modifier and Type | Method and Description |
---|---|
Element |
Store.populateElement(Element lazyElement)
Ensures all identifier and property values are populated on an element by
triggering getters on the element for
all identifier and properties in the
Schema forcing a lazy
element to load all of its values. |
boolean |
ElementValidator.validate(Element element) |
boolean |
ElementValidator.validateAggregation(Element element) |
boolean |
ElementValidator.validateInput(Element element) |
boolean |
ElementValidator.validateTransform(Element element) |
boolean |
ElementValidator.validateWithSchema(Element element) |
uk.gov.gchq.koryphe.ValidationResult |
ElementValidator.validateWithValidationResult(Element element) |
Constructor and Description |
---|
ValidatedElements(Iterable<? extends Element> elements,
Schema schema,
boolean skipInvalid)
|
ValidatedElements(Iterable<? extends Element> elements,
View view,
boolean skipInvalid)
|
Modifier and Type | Method and Description |
---|---|
static ElementKey |
ElementKey.create(Element element,
Schema schema) |
static ElementKey |
ElementKey.create(Element element,
SchemaElementDefinition elementDef) |
static ElementKey |
ElementKey.create(Element element,
Set<String> groupBy) |
Modifier and Type | Method and Description |
---|---|
Iterable<? extends Element> |
ValidateHandler.doOperation(Validate operation,
Context context,
Store store) |
Iterable<? extends Element> |
ValidateHandler.doOperation(Validate operation,
Schema schema) |
Modifier and Type | Method and Description |
---|---|
Element |
MaxHandler.doOperation(Max operation,
Context context,
Store store) |
Element |
MinHandler.doOperation(Min operation,
Context context,
Store store) |
Modifier and Type | Method and Description |
---|---|
Iterable<? extends Element> |
SortHandler.doOperation(Sort operation,
Context context,
Store store) |
Modifier and Type | Method and Description |
---|---|
Iterable<? extends Element> |
AggregateHandler.doOperation(Aggregate operation,
Context context,
Store store) |
Iterable<? extends Element> |
AggregateHandler.doOperation(Aggregate operation,
Schema schema) |
Iterable<? extends Element> |
FilterHandler.doOperation(Filter operation,
Context context,
Store store) |
Iterable<? extends Element> |
FilterHandler.doOperation(Filter operation,
Schema schema) |
Iterable<? extends Element> |
TransformHandler.doOperation(Transform operation,
Context context,
Store store) |
Iterable<? extends Element> |
TransformHandler.doOperation(Transform operation,
Schema schema) |
Modifier and Type | Method and Description |
---|---|
Iterable<? extends Element> |
GenerateElementsHandler.doOperation(GenerateElements<OBJ> operation,
Context context,
Store store) |
Modifier and Type | Method and Description |
---|---|
Stream<Element> |
TransformStreamSupplier.get() |
Modifier and Type | Method and Description |
---|---|
Element |
ElementSerialiser.deserialise(byte[] bytes) |
Element |
ElementSerialiser.deserialiseEmpty() |
Modifier and Type | Method and Description |
---|---|
byte[] |
ElementSerialiser.serialise(Element element) |
Modifier and Type | Method and Description |
---|---|
Element |
AggregatorUtil.ToElementKey.apply(Element element) |
Modifier and Type | Method and Description |
---|---|
static CloseableIterable<Element> |
AggregatorUtil.ingestAggregate(Iterable<? extends Element> elements,
Schema schema)
Applies ingest aggregation to the provided iterable of
Element s. |
static CloseableIterable<Element> |
AggregatorUtil.queryAggregate(Iterable<? extends Element> elements,
Schema schema,
View view)
Applies query time aggregation to the provided iterable of
Element s. |
static CloseableIterable<Element> |
AggregatorUtil.queryAggregate(Iterable<? extends Element> elements,
Schema schema,
View view,
boolean includeMatchedVertex)
Applies query time aggregation to the provided iterable of
Element s. |
Modifier and Type | Method and Description |
---|---|
Element |
AggregatorUtil.ToElementKey.apply(Element element) |
boolean |
AggregatorUtil.IsElementAggregated.test(Element element) |
Modifier and Type | Method and Description |
---|---|
static CloseableIterable<Element> |
AggregatorUtil.ingestAggregate(Iterable<? extends Element> elements,
Schema schema)
Applies ingest aggregation to the provided iterable of
Element s. |
static CloseableIterable<Element> |
AggregatorUtil.queryAggregate(Iterable<? extends Element> elements,
Schema schema,
View view)
Applies query time aggregation to the provided iterable of
Element s. |
static CloseableIterable<Element> |
AggregatorUtil.queryAggregate(Iterable<? extends Element> elements,
Schema schema,
View view,
boolean includeMatchedVertex)
Applies query time aggregation to the provided iterable of
Element s. |
Modifier and Type | Method and Description |
---|---|
Iterable<Element> |
RoadTrafficCsvElementGenerator._apply(org.apache.commons.csv.CSVRecord record) |
Iterable<Element> |
RoadTrafficStringElementGenerator._apply(String line) |
Copyright © 2022. All rights reserved.