Package | Description |
---|---|
com.whitestein.lsps.engine |
The package contains common classes for LSPS expression interpretation.
|
com.whitestein.lsps.engine.dto.val | |
com.whitestein.lsps.engine.lang | |
com.whitestein.lsps.engine.lang.compiled | |
com.whitestein.lsps.engine.tester |
Testing support for testing engine tasks.
|
com.whitestein.lsps.human.context |
Classes that represents human-oriented model objects in java code.
|
com.whitestein.lsps.human.generation | |
com.whitestein.lsps.lang |
This is the main package for the LSPS expression language.
|
com.whitestein.lsps.lang.ast | |
com.whitestein.lsps.lang.compiled | |
com.whitestein.lsps.lang.exec |
All types in the language have their Java implementation class.
|
com.whitestein.lsps.lang.operation | |
com.whitestein.lsps.stdlib.type |
This package contains implementations of core reflection types.
|
com.whitestein.lsps.xml.util |
Modifier and Type | Method and Description |
---|---|
Namespace |
ChangeDebugStepContext.getNamespace()
Gets the name space of the current step context.
|
Modifier and Type | Method and Description |
---|---|
Namespace |
ReferenceValue.getNamespace() |
Namespace |
ClosureValue.getNamespace() |
Namespace |
RecordValue.getNamespace(Namespace parentNamespace) |
Modifier and Type | Method and Description |
---|---|
Object |
RecordValue.executeMethod(Namespace parentNamespace,
FunctionSignature signature,
Object... arguments) |
Namespace |
RecordValue.getNamespace(Namespace parentNamespace) |
RecordHolder |
RecordValue.mergeChanges(Namespace namespace,
boolean checkConflicts) |
Modifier and Type | Class and Description |
---|---|
class |
AbstractContextNamespace
Abstract namespace for context.
|
class |
ContextNamespace
Namespace for context (in base level).
|
class |
NoBaseContextNamespace
Namespace for no-base contexts.
|
class |
RecordNamespace
Namespace for record/
|
class |
RecordProxySetNamespace |
Modifier and Type | Method and Description |
---|---|
Namespace |
RecordNamespace.createChildNamespace(String name,
List<? extends Field> fields,
List<?> initialValues,
Map<FreeType,Type> freeTypeMapping,
InterpreterConfiguration configuration) |
Namespace |
NoBaseContextNamespace.createChildNamespace(String name,
List<? extends Field> fields,
List<?> initialValues,
Map<FreeType,Type> freeTypeMapping,
InterpreterConfiguration configuration) |
Namespace |
ContextNamespace.createChildNamespace(String name,
List<? extends Field> fields,
List<?> values,
Map<FreeType,Type> freeTypeMapping,
InterpreterConfiguration configuration) |
protected Namespace |
AbstractContextNamespace.createChildNamespaceInternal(String name,
List<? extends Field> fields,
List<?> values,
Map<FreeType,Type> freeTypeMapping,
InterpreterConfiguration configuration)
Creates child namespace in required evaluation level.
|
static Namespace |
ExecutionContextImpl.createNamespace(ModelProvider modelProvider,
Context context)
Creates namespace of correct type for a context.
|
Namespace |
RecordNamespace.getLowerLevelNamespace() |
Namespace |
ContextNamespace.getLowerLevelNamespace() |
protected Namespace |
AssociationEnd.getMainExecutionNamespace(String level)
Returns main execution context in required execution level.
|
Namespace |
RecordNamespace.getModuleNamespace(String name) |
Namespace |
NoBaseContextNamespace.getModuleNamespace(String name) |
Namespace |
ContextNamespace.getModuleNamespace(String name) |
Namespace |
JavaOperationExecutionContext.getNamespace() |
Namespace |
ExpressionHolder.getNamespace()
Returns the namespace associated with the expression.
|
Namespace |
ExecutionContextImpl.getNamespace() |
Namespace |
ExecutionContext.getNamespace()
Returns namespace associated with this context.
|
Namespace |
RecordProxySetHolder.getNamespace(Namespace parentNamespace) |
Namespace |
RecordHolderBase.getNamespace(Namespace parentNamespace) |
Namespace |
ReadOnlyRecordHolder.getNamespace(Namespace parentNamespace) |
Namespace |
RecordNamespace.getParentNamespace() |
Namespace |
NoBaseContextNamespace.getParentNamespace() |
Namespace |
ContextNamespace.getParentNamespace() |
static Namespace |
EvaluationLevelConverter.namespaceInLevel(String level,
Namespace namespace,
ModelProvider modelProvider)
Returns a namespace for an specified evaluation level.
|
Namespace |
JavaOperationExecutionContext.resolveVariableNamespace(QID name) |
Namespace |
ExecutionContext.resolveVariableNamespace(QID name)
Resolves variable for given name and returns its containing namespace.
|
Namespace |
AbstractExecutionContext.resolveVariableNamespace(QID qid) |
Namespace |
JavaOperationExecutionContext.resolveVariableNamespace(String name)
Deprecated.
|
Namespace |
ExecutionContext.resolveVariableNamespace(String name)
Deprecated.
|
Namespace |
AbstractExecutionContext.resolveVariableNamespace(String name)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
Object |
RecordProxySetHolder.executeMethod(Namespace parentNamespace,
FunctionSignature signature,
Object... arguments) |
Object |
RecordHolderBase.executeMethod(Namespace parentNamespace,
FunctionSignature signature,
Object... arguments) |
Object |
ReadOnlyRecordHolder.executeMethod(Namespace parentNamespace,
FunctionSignature signature,
Object... arguments) |
CompiledContext |
AbstractContextNamespace.getCompiledContext(Namespace moduleNamespace,
String evaluationLevel) |
Namespace |
RecordProxySetHolder.getNamespace(Namespace parentNamespace) |
Namespace |
RecordHolderBase.getNamespace(Namespace parentNamespace) |
Namespace |
ReadOnlyRecordHolder.getNamespace(Namespace parentNamespace) |
RecordHolder |
RecordProxySetHolder.mergeChanges(Namespace namespace,
boolean checkConflicts) |
RecordHolder |
RecordHolderBase.mergeChanges(Namespace namespace,
boolean checkConflicts) |
RecordHolder |
ReadOnlyRecordHolder.mergeChanges(Namespace namespace,
boolean checkConflicts) |
RecordHolder |
InternalRecordHolder.mergeChanges(Namespace namespace,
boolean checkConflicts) |
List<RecordHolder> |
RecordChangeProxyMerger.mergeChanges(RuntimeToPersistentConverter converter,
Namespace namespace,
boolean checkConflicts,
Collection<RecordHolder> records)
It merges all changes from proxies to the proxied records.
|
RecordHolder |
RecordChangeProxyMerger.mergeChanges(RuntimeToPersistentConverter converter,
Namespace namespace,
boolean checkConflicts,
RecordHolder record)
It merges all changes from proxy to the proxied record.
|
List<RecordHolder> |
RecordChangeProxyMerger.mergeChanges(RuntimeToPersistentConverter converter,
Namespace namespace,
boolean checkConflicts,
RecordProxySetHolder proxySet)
It merges all proxies from proxy set.
|
static Namespace |
EvaluationLevelConverter.namespaceInLevel(String level,
Namespace namespace,
ModelProvider modelProvider)
Returns a namespace for an specified evaluation level.
|
Constructor and Description |
---|
ExecutionContextImpl(ModelProvider modelProvider,
ModelInstance modelInstance,
Namespace namespace)
Creates new instance of
ExecutionContextImpl . |
ExecutionContextImpl(ModelProvider modelProvider,
ModelInstance modelInstance,
Namespace namespace,
InterpreterStackTrace stackTrace)
Creates new instance of
ExecutionContextImpl . |
RecordNamespace(ModelProvider modelProvider,
Namespace namespace,
RecordHolder recordHolder)
Creates new instance.
|
RecordProxySetNamespace(ModelProvider modelProvider,
Namespace namespace,
RecordHolder recordHolder) |
Modifier and Type | Field and Description |
---|---|
protected Namespace |
CompiledClosureHolder.namespace |
Modifier and Type | Method and Description |
---|---|
protected static Namespace |
CompiledNamespace.createChildNamespace(Namespace namespace) |
static Namespace |
CompiledRecord.getModuleNamespace(String moduleName,
Namespace namespace) |
Namespace |
CompiledNamespace.getNamespace() |
Namespace |
CompiledClosureHolder.getNamespace() |
Namespace |
CompiledRecord.getNamespace(Namespace parentNamespace) |
Namespace |
CompiledRecord.getNamespace(RecordType asType) |
static Namespace |
CompiledNamespace.resolveVariableNamespace(Namespace namespace,
QID qid) |
static Namespace |
CompiledNamespace.resolveVariableNamespace(Namespace namespace,
String name) |
protected Namespace |
CompiledNamespace.selectNamespace(Namespace namespace) |
protected Namespace |
CompiledContext.selectNamespace(Namespace aNamespace) |
protected Namespace |
AdditionalExpressionCompiledContext.selectNamespace(Namespace namespace) |
Modifier and Type | Method and Description |
---|---|
protected static void |
CompiledNamespace.addVariable(Namespace namespace,
String name,
Type type) |
protected static void |
CompiledNamespace.addVariable(Namespace namespace,
String name,
Type type,
Object value) |
protected static void |
CompiledNamespace.checkRollback(Namespace namespace,
Throwable th,
IErrorException e) |
protected static Namespace |
CompiledNamespace.createChildNamespace(Namespace namespace) |
protected static ListHolder |
CompiledNamespace.createList(Namespace namespace,
Object[] items) |
protected static MapHolder |
CompiledNamespace.createMap(Namespace namespace,
Object[] keys,
Object[] values) |
protected static ClosureHolder |
CompiledNamespace.createOperationHolder(Namespace namespace,
ClosureType closureType,
String expressionString,
ClosureOrigin expressionOrigin) |
protected static ClosureHolder |
CompiledNamespace.createOperationHolder(Namespace namespace,
RecordHolder recordHolder,
ClosureType closureType,
String expressionString,
ClosureOrigin expressionOrigin) |
protected static RecordHolder |
CompiledNamespace.createRecord(Namespace namespace,
String recordType,
String[] fieldNames,
Object[] fieldValues) |
protected static RecordHolder |
CompiledNamespace.createRecordByConstructor(Namespace namespace,
String recordTypeString,
Class<?>[] parameterTypes,
Object[] values) |
protected static ReferenceHolder |
CompiledNamespace.createReference(Namespace namespace,
ReferenceType type,
String expression,
ClosureOrigin expressionOrigin) |
protected static SetHolder |
CompiledNamespace.createSet(Namespace namespace,
Object[] items) |
Object |
CompiledExpression.execute(Namespace namespace,
InterpreterStackTrace stackTrace,
List<Object> arguments) |
Object |
CompiledClosureHolder.executeInNamespace(Namespace namespace,
InterpreterStackTrace stackTrace,
Object... arguments) |
abstract Object |
CompiledClosureHolder.executeInNamespaceInternal(Namespace namespace,
Object[] arguments)
This method should contain generated java implementation of the closure.
|
Object |
CompiledRecord.executeMethod(Namespace parentNamespace,
FunctionSignature signature,
Object... arguments) |
static CompiledContext |
CompiledRecord.getCompiledContext(String moduleName,
Namespace namespace) |
static CompiledNamespace |
CompiledNamespace.getCompiledNamespace(Namespace moduleNamespace) |
protected static <T> T |
CompiledNamespace.getComponent(Namespace namespace,
Class<T> cls) |
static ComponentService |
CompiledNamespace.getComponentServiceStat(Namespace namespace) |
protected static Object |
CompiledNamespace.getConstantValue(Namespace namespace,
String moduleName,
String name) |
static String |
CompiledNamespace.getEvaluationLevel(Namespace namespace) |
static ExecutionContext |
CompiledRecord.getExecutionContext(Namespace namespace) |
static Namespace |
CompiledRecord.getModuleNamespace(String moduleName,
Namespace namespace) |
Namespace |
CompiledRecord.getNamespace(Namespace parentNamespace) |
static ReferencedOperation |
CompiledNamespace.getReferencedOperation(Namespace namespace,
String moduleName,
String id) |
static Object |
CompiledNamespace.getStaticVariableValue(Namespace namespace,
QID qid) |
static Object |
CompiledNamespace.getStaticVariableValue(Namespace namespace,
String name)
Returns variable value from specified context.
|
protected static Type |
CompiledNamespace.getType(Namespace namespace,
String typeString) |
Object |
CompiledNamespace.getVariableValue(Namespace namespace,
QID qid) |
Object |
CompiledNamespace.getVariableValue(Namespace namespace,
String name) |
RecordHolder |
CompiledRecord.mergeChanges(Namespace namespace,
boolean checkConflicts) |
static Namespace |
CompiledNamespace.resolveVariableNamespace(Namespace namespace,
QID qid) |
static Namespace |
CompiledNamespace.resolveVariableNamespace(Namespace namespace,
String name) |
protected Namespace |
CompiledNamespace.selectNamespace(Namespace namespace) |
protected Namespace |
CompiledContext.selectNamespace(Namespace aNamespace) |
protected Namespace |
AdditionalExpressionCompiledContext.selectNamespace(Namespace namespace) |
void |
CompiledNamespace.setNamespace(Namespace aNamespace)
Sets underlying namespace directly.
|
protected static RecordHolder |
CompiledNamespace.toCompiled(Namespace namespace,
RecordHolder record) |
protected static Object |
CompiledNamespace.toCompiledObject(Namespace namespace,
Object object) |
Constructor and Description |
---|
AdditionalExpressionCompiledContext(Namespace namespace) |
CompiledClosureHolder(Namespace namespace,
String expressionString,
ClosureType type,
ClosureOrigin expressionOrigin,
boolean isWithQuery)
Creates new instance.
|
CompiledContext(Namespace namespace)
Creates new instance.
|
CompiledNamespace(Namespace namespace)
Creates new instance.
|
CompiledRecord(RecordHolder recordHolder,
Namespace nestedRecordNamespace,
CompiledContext mainContext) |
Modifier and Type | Method and Description |
---|---|
Namespace |
MockExecutionContext.getNamespace() |
Namespace |
MockTaskContext.getNamespace() |
Namespace |
MockTaskContext.resolveVariableNamespace(QID name) |
Namespace |
MockTaskContext.resolveVariableNamespace(String name)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
JavaOperationExecutor |
MockJavaOperationExecutorFactory.create(Namespace namespace) |
Constructor and Description |
---|
MockExecutionContext(Namespace namespace)
Creates new instance with no parent context, 0L as the context id and no
ContextModelElement . |
MockExecutionContext(Namespace namespace,
ExecutionContext parentContext,
long contextId,
com.whitestein.lsps.model.ContextModelElement element)
Creates new instance.
|
Modifier and Type | Method and Description |
---|---|
void |
ToJoinTodoListQueryDifferentDB.executePreQueryAction(Namespace namespace) |
void |
ToJoinTodoListQuery.executePreQueryAction(Namespace namespace) |
String |
ToJoinTodoListQuerySameDB.getAdditionalSelectHqlString(Namespace namespace) |
String |
ToJoinTodoListQueryDifferentDB.getAdditionalSelectHqlString(Namespace namespace) |
String |
ToJoinTodoListQuery.getAdditionalSelectHqlString(Namespace namespace) |
String |
ToJoinTodoListQuerySameDB.getConditionHqlString(com.whitestein.lsps.lang.query.PathResolver pathResolver,
Namespace namespace,
SortedMap<Integer,Object> positionalParameters) |
String |
ToJoinTodoListQueryDifferentDB.getConditionHqlString(com.whitestein.lsps.lang.query.PathResolver pathResolver,
Namespace namespace,
SortedMap<Integer,Object> positionalParameters) |
String |
ToJoinTodoListQuery.getConditionHqlString(com.whitestein.lsps.lang.query.PathResolver pathResolver,
Namespace namespace,
SortedMap<Integer,Object> positionalParameters) |
Modifier and Type | Method and Description |
---|---|
RecordHolder |
DocumentSignatureGeneration.DocOperation.execute(Namespace namespace,
String operation) |
Modifier and Type | Class and Description |
---|---|
class |
AbstractMockNamespace
Mock namespace.
|
class |
MockNamespace
Mock namespace.
|
class |
MockNamespacePart |
Modifier and Type | Method and Description |
---|---|
Namespace |
AbstractMockNamespace.createChildNamespace(String name,
List<? extends Field> fields,
List<?> initialValues,
Map<FreeType,Type> freeTypeMapping,
InterpreterConfiguration configuration) |
Namespace |
FunctionArgumentInterpreter.createFunctionNamespace(Interpreter interpreter,
List<Expression> arguments,
boolean variadicAsList,
InterpreterStackTrace stackTrace)
Creates a function namespace that is a child of the interpreter namespace
for the given function arguments.
|
Namespace |
AbstractMockNamespace.getLowerLevelNamespace() |
Namespace |
MockNamespacePart.getModuleNamespace(String name) |
Namespace |
MockNamespace.getModuleNamespace(String name) |
Namespace |
ReferenceExpressionHolder.getNamespace() |
Namespace |
Interpreter.getNamespace()
Returns the current namespace.
|
Namespace |
AbstractClosureHolder.getNamespace() |
Namespace |
AbstractMockNamespace.getNamespaceInLevel(String evaluationLevel) |
Namespace |
MockNamespacePart.getParentNamespace() |
Namespace |
MockNamespace.getParentNamespace() |
Modifier and Type | Method and Description |
---|---|
JavaOperationExecutor |
JavaOperationExecutorFactory.create(Namespace namespace) |
Object |
OperationExpressionHolder.executeInNamespace(Namespace namespace,
InterpreterStackTrace stackTrace,
Object... arguments) |
Object |
ExpressionAsClosureHolder.executeInNamespace(Namespace namespace,
InterpreterStackTrace stackTrace,
Object... arguments) |
Object |
ClosureExpressionHolder.executeInNamespace(Namespace namespace,
InterpreterStackTrace stackTrace,
Object... args) |
Constructor and Description |
---|
MockNamespace(Module module,
Collection<Namespace> imports)
Creates new instance of
MockNamespace . |
MockNamespace(Module module,
Collection<Namespace> imports,
JavaOperationExecutorFactory executorFactory)
Creates new instance of
MockNamespace . |
Modifier and Type | Method and Description |
---|---|
void |
VariableExpression.setValue(Object value,
Namespace namespace,
InterpreterStackTrace stackTrace,
ExpressionOrigin origin) |
void |
PropertyExpression.setValue(Object value,
Namespace namespace,
InterpreterStackTrace stackTrace,
ExpressionOrigin origin) |
void |
DereferenceExpression.setValue(Object value,
Namespace namespace,
InterpreterStackTrace stackTrace,
ExpressionOrigin origin) |
abstract void |
AssignableExpression.setValue(Object value,
Namespace namespace,
InterpreterStackTrace stackTrace,
ExpressionOrigin origin)
Assign a value into the assignable (e.g.
|
Modifier and Type | Method and Description |
---|---|
Object |
Compiled.execute(Namespace namespace,
InterpreterStackTrace stackTrace,
List<Object> arguments) |
Modifier and Type | Class and Description |
---|---|
class |
MockRecordNamespace |
Modifier and Type | Field and Description |
---|---|
protected Namespace |
ToStringBuilder.namespace |
Modifier and Type | Method and Description |
---|---|
default Namespace |
Namespace.createChildNamespace(String name,
List<? extends Field> fields,
List<?> initialValues,
InterpreterConfiguration configuration)
Creates new child namespace with this namespace as the parent.
|
Namespace |
Namespace.createChildNamespace(String name,
List<? extends Field> fields,
List<?> initialValues,
Map<FreeType,Type> freeTypeMapping,
InterpreterConfiguration configuration) |
Namespace |
Namespace.getLowerLevelNamespace()
Returns namespace corresponding to this namespace on lower level.
|
Namespace |
Namespace.getModuleNamespace(String name)
Returns module namespace by its module name or
null if it does not exist. |
Namespace |
ReferenceHolder.getNamespace()
Returns namespace
|
Namespace |
MockClosureHolder.getNamespace() |
Namespace |
ClosureHolder.getNamespace()
Returns the namespace where the closure is declared.
|
Namespace |
RecordHolder.getNamespace(Namespace parentNamespace)
Returns namespace of this record.
|
Namespace |
MockRecordHolder.getNamespace(Namespace parentNamespace) |
Namespace |
Namespace.getNamespaceInLevel(String evaluationLevel)
Returns namespace in evaluation level.
|
Namespace |
Namespace.getParentNamespace()
Returns parent namespace or
null if this is top namespace. |
default Namespace |
Namespace.getTopNamespace()
Returns the top namespace (i.e.
|
Modifier and Type | Method and Description |
---|---|
Object |
ClosureHolderInternal.executeInNamespace(Namespace namespace,
InterpreterStackTrace stackTrace,
Object... arguments)
Execute this closure in the given namespace.
|
Object |
RecordHolder.executeMethod(Namespace parentNamespace,
FunctionSignature signature,
Object... arguments)
Executes method with parameters.
|
Object |
MockRecordHolder.executeMethod(Namespace parentNamespace,
FunctionSignature signature,
Object... arguments) |
Namespace |
RecordHolder.getNamespace(Namespace parentNamespace)
Returns namespace of this record.
|
Namespace |
MockRecordHolder.getNamespace(Namespace parentNamespace) |
RecordHolder |
RecordHolder.mergeChanges(Namespace namespace,
boolean checkConflicts)
If this is wrapper it merges all its changes to the wrapped record.
|
RecordHolder |
MockRecordHolder.mergeChanges(Namespace namespace,
boolean checkConflicts) |
static String |
ToStringBuilder.toString(Object object,
boolean expandRecords,
Namespace namespace)
Returns a string representation for given object.
|
static String |
ToStringBuilder.toString(Object object,
Namespace namespace,
String nullString)
Returns a string representation for given object.
|
Modifier and Type | Method and Description |
---|---|
Boolean |
BooleanOperation.execute(Namespace namespace,
String oper,
Boolean arg) |
Boolean |
BooleanOperation.execute(Namespace namespace,
String oper,
Boolean left,
Boolean right) |
Object |
CollectionOperation.execute(Namespace namespace,
String oper,
CollectionHolder collection,
Decimal index) |
Decimal |
ComparisonOperation.execute(Namespace namespace,
String oper,
Comparable left,
Comparable right) |
Boolean |
DateOperation.execute(Namespace namespace,
String oper,
Date left,
Date right) |
Decimal |
IntegerUnaryOperation.execute(Namespace namespace,
String operation,
Decimal arg) |
Decimal |
DecimalUnaryOperation.execute(Namespace namespace,
String operation,
Decimal arg) |
ListHolder |
RangeOperation.execute(Namespace namespace,
String oper,
Decimal first,
Decimal last) |
Decimal |
IntegerBinaryArithmeticOperation.execute(Namespace namespace,
String operation,
Decimal left,
Decimal right) |
boolean |
DecimalBinaryComparisonOperation.execute(Namespace namespace,
String operation,
Decimal left,
Decimal right) |
Decimal |
DecimalBinaryArithmeticOperation.execute(Namespace namespace,
String operation,
Decimal left,
Decimal right) |
Boolean |
EnumerationOperation.execute(Namespace namespace,
String operation,
EnumerationImpl left,
EnumerationImpl right) |
Boolean |
LocalDateOperation.execute(Namespace namespace,
String oper,
java.time.LocalDate left,
java.time.LocalDate right) |
Object |
MapOperation.execute(Namespace namespace,
String operation,
MapHolder left,
Object right) |
Object |
ReferencedOperation.execute(Namespace namespace,
String operation,
Object[] args)
Executes the operation.
|
Boolean |
CollectionOperation.execute(Namespace namespace,
String oper,
Object item,
CollectionHolder collection) |
abstract String |
StringOperation.execute(Namespace namespace,
String operation,
Object left,
Object right) |
abstract Boolean |
ObjectOperation.execute(Namespace namespace,
String operation,
Object left,
Object right) |
Object |
ErrorOperation.execute(Namespace namespace,
String operation,
String errorCode) |
abstract Boolean |
StringLikeOperation.execute(Namespace namespace,
String operation,
String str,
String pattern) |
Boolean |
StringComparisonOperation.execute(Namespace namespace,
String operation,
String left,
String right) |
Modifier and Type | Method and Description |
---|---|
protected Namespace |
ProcessInstanceAdapter.getNamespace()
Returns the namespace
|
protected Namespace |
GoalPlanHolder.getNamespace()
Returns the namespace
|
Constructor and Description |
---|
XmlParser(Namespace namespace,
ModelInstance modelInstance,
XmlTypesParser parser,
CoreTypeFactory coreTypeFactory) |
XmlTypesParser(BinaryDataService binaryDataService,
Namespace namespace)
Creates new instance.
|
Copyright © 2007-2020 Whitestein Technologies. All Rights Reserved.