/*
* Copyright 2004-2019 H2 Group. Multiple-Licensed under the MPL 2.0,
* and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: H2 Group
*/
package org.h2.result;
import org.h2.engine.Session;
import org.h2.expression.Expression;
Creates local result.
/**
* Creates local result.
*/
public abstract class LocalResultFactory {
Default implementation of local result factory.
/**
* Default implementation of local result factory.
*/
public static final LocalResultFactory DEFAULT = new DefaultLocalResultFactory();
Create a local result object.
Params: - session – the session
- expressions – the expression array
- visibleColumnCount – the number of visible columns
Returns: object to collect local result.
/**
* Create a local result object.
*
* @param session the session
* @param expressions the expression array
* @param visibleColumnCount the number of visible columns
* @return object to collect local result.
*/
public abstract LocalResult create(Session session, Expression[] expressions, int visibleColumnCount);
Create a local result object.
Returns: object to collect local result.
/**
* Create a local result object.
* @return object to collect local result.
*/
public abstract LocalResult create();
Default implementation of local result factory.
/**
* Default implementation of local result factory.
*/
private static final class DefaultLocalResultFactory extends LocalResultFactory {
/**
*
*/
DefaultLocalResultFactory() {
//No-op.
}
@Override
public LocalResult create(Session session, Expression[] expressions, int visibleColumnCount) {
return new LocalResultImpl(session, expressions, visibleColumnCount);
}
@Override
public LocalResult create() {
return new LocalResultImpl();
}
}
}