public class DatabaseQuery extends DatabaseAccessor
Entity.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
protected QBTableauFactory |
_qbTableauFactory
Query builder tableau factory.
|
StringAttribute |
_schemaAttr
The schema of the database.
|
protected DSSchemaIFace |
_schemaDef
Schema definition interface, used by the query builder
|
StringAttribute |
_sqlAttr
Hidden variable containing the xml representation of the query as
returned by the query builder.
|
Parameter |
lowerColumnNames
If true, column names are converted to lower-case.
|
Parameter |
outputEachRowSeparately
Specify whether to display the complete result at once or each row
separately.
|
StringParameter |
outputType
The output format: XML, Record or String or a relational string with no
metadata information.
|
PortParameter |
query
An input query string.
|
TypedIOPort |
queryValues
Value(s) to use in a prepared statement query.
|
TypedIOPort |
result
The query result.
|
_db, dbcon, dbconTokenConsumptionRate, dbParams
_typesValid
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
COMPLETED, NOT_READY, STOP_ITERATING
Constructor and Description |
---|
DatabaseQuery(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name.
|
Modifier and Type | Method and Description |
---|---|
void |
attributeChanged(Attribute attribute)
Determine the output format
|
java.lang.Object |
clone(Workspace workspace)
Clone the actor into the specified workspace.
|
void |
connectionsChanged(Port port)
Try to set the database schema once the database connection port has been
connected.
|
void |
fire()
Consume a query and a database connection reference.
|
boolean |
postfire()
Takes care of halting the execution in case the query is not updated from
a port and hasn't changed.
|
void |
preinitialize()
Read the outputType parameter and set output type accordingly.
|
void |
wrapup()
Close the connection if open.
|
_setPreparedStatementValue, getConnection, initialize
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, prefire, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
isFireFunctional, isStrict, iterate, prefire, stop, stopFire, terminate
addInitializable, removeInitializable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
getDerivedLevel, getDerivedList, propagateValue
public StringParameter outputType
public Parameter outputEachRowSeparately
public PortParameter query
public TypedIOPort result
public StringAttribute _sqlAttr
public StringAttribute _schemaAttr
public Parameter lowerColumnNames
public TypedIOPort queryValues
protected QBTableauFactory _qbTableauFactory
protected DSSchemaIFace _schemaDef
public DatabaseQuery(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
container
- The container.name
- The name of this actor.IllegalActionException
- If the actor cannot be contained by the proposed
container.NameDuplicationException
- If the container already has an actor with this name.public void attributeChanged(Attribute attribute) throws IllegalActionException
attributeChanged
in class NamedObj
attribute
- The attribute that changed.IllegalActionException
- If the output type is not recognized.public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
TypedAtomicActor
clone
in class TypedAtomicActor
workspace
- The workspace for the new object.java.lang.CloneNotSupportedException
- If a derived class contains
an attribute that cannot be cloned.NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
public void connectionsChanged(Port port)
connectionsChanged
in class AtomicActor<TypedIOPort>
port
- The port that has connection changes.public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class DatabaseAccessor
IllegalActionException
- If there is no director.public boolean postfire() throws IllegalActionException
postfire
in interface Executable
postfire
in class AtomicActor<TypedIOPort>
IllegalActionException
- Not thrown in this base class.public void preinitialize() throws IllegalActionException
preinitialize
in interface Initializable
preinitialize
in class AtomicActor<TypedIOPort>
IllegalActionException
- If the file or URL cannot be opened, or if the first line
cannot be read.public void wrapup() throws IllegalActionException
DatabaseAccessor
wrapup
in interface Initializable
wrapup
in class DatabaseAccessor
IllegalActionException
- Not thrown in this base class.