
public abstract class OSQLFunctionAbstract extends Object implements OSQLFunction
OSQLParser.getInstance().registerStatelessFunction() or
OSQLParser.getInstance().registerStatefullFunction() to being used by the SQL engine.| Modifier and Type | Field and Description |
|---|---|
protected int |
maxParams |
protected int |
minParams |
protected String |
name |
| Constructor and Description |
|---|
OSQLFunctionAbstract(String iName,
int iMinParams,
int iMaxParams) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
aggregateResults()
A function can make calculation on several records before returning a result.
|
void |
config(Object[] iConfiguredParameters)
Configure the function.
|
boolean |
filterResult()
A function can act both as transformation or filtering records.
|
protected String |
getDistributedStorageId() |
int |
getMaxParams()
Maximum number of parameter this function can handle.
|
int |
getMinParams()
Minimum number of parameter this function must have.
|
String |
getName()
Function name, the name is used by the sql parser to identify a call this function.
|
Object |
getResult()
Only called when function aggregates results after all records have been passed to the function.
|
protected Object |
getSingleItem(Object source)
Attempt to extract a single item from object if it's a multi value
OMultiValue
If source is a multi value |
protected Object |
getSingleProperty(Object source,
boolean requireSingleProperty)
Attempts to identify the source as a map-like object with single property and return it.
|
Object |
mergeDistributedResult(List<Object> resultsToMerge)
This method correspond to distributed query execution
|
protected boolean |
returnDistributedResult() |
void |
setResult(Object iResult)
Called by OCommandExecutor, given parameter is the number of results.
|
boolean |
shouldMergeDistributedResult()
This method correspond to distributed query execution
|
String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitexecute, getSyntaxprotected String name
protected int minParams
protected int maxParams
public OSQLFunctionAbstract(String iName, int iMinParams, int iMaxParams)
public String getName()
OSQLFunctiongetName in interface OSQLFunctionpublic int getMinParams()
OSQLFunctiongetMinParams in interface OSQLFunctionpublic int getMaxParams()
OSQLFunctiongetMaxParams in interface OSQLFunctionpublic void config(Object[] iConfiguredParameters)
OSQLFunctionconfig in interface OSQLFunctionpublic boolean aggregateResults()
OSQLFunctionExample of such function : sum, count, max, min ...
The final result of the aggregation is obtain by calling OSQLFunction.getResult()
aggregateResults in interface OSQLFunctionpublic boolean filterResult()
OSQLFunctionFunction should return null for the execute method if the record must be excluded.
filterResult in interface OSQLFunctionpublic Object getResult()
OSQLFunctiongetResult in interface OSQLFunctionpublic void setResult(Object iResult)
OSQLFunctionsetResult in interface OSQLFunctionpublic boolean shouldMergeDistributedResult()
OSQLFunctionshouldMergeDistributedResult in interface OSQLFunctiontrue if results that comes from different nodes need to be merged to obtain valid one, false otherwisepublic Object mergeDistributedResult(List<Object> resultsToMerge)
OSQLFunctionmergeDistributedResult in interface OSQLFunctionresultsToMerge - is the results that comes from different nodesprotected boolean returnDistributedResult()
protected String getDistributedStorageId()
protected Object getSingleItem(Object source)
OMultiValue
If source is a multi valuesource - a value to attempt extract single value from itprotected Object getSingleProperty(Object source, boolean requireSingleProperty)
source - The object to checkrequireSingleProperty - True if the method should return null when source doesn't have a single property.
Otherwise, the object will be returned.Copyright © 2009–2025 OrientDB. All rights reserved.