Class View
- java.lang.Object
-
- org.linuxforhealth.fhir.database.utils.model.BaseObject
-
- org.linuxforhealth.fhir.database.utils.model.View
-
- All Implemented Interfaces:
IDatabaseObject
public class View extends BaseObject
Defines a SQL VIEW object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
View.Builder
Fluent builder forView
-
Field Summary
-
Fields inherited from class org.linuxforhealth.fhir.database.utils.model.BaseObject
migrations, version
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
View(java.lang.String schemaName, java.lang.String objectName, int version, java.lang.String selectClause, java.util.Collection<IDatabaseObject> dependencies, java.util.Map<java.lang.String,java.lang.String> tags, java.util.Collection<GroupPrivilege> privileges, java.util.List<Migration> migrations, boolean create)
Protected constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
apply(java.lang.Integer priorVersion, ISchemaAdapter target, SchemaApplyContext context)
Apply migration logic to bring the target database to the current level of this objectvoid
apply(ISchemaAdapter target, SchemaApplyContext context)
Apply the DDL for this object to the target databasestatic View.Builder
builder(java.lang.String schemaName, java.lang.String viewName)
Create a new Builder instance which can be used to create immutable instances ofView
void
drop(ISchemaAdapter target)
DROP this object from the target databaseprotected void
grantGroupPrivileges(ISchemaAdapter target, java.util.Set<Privilege> group, java.lang.String toUser)
Internal method which can be override by different object types which may need to call a different grant method on the adapterboolean
isCreate()
Getter for the create flagvoid
visit(DataModelVisitor v)
Visit thisIDatabaseObject
with the givenDataModelVisitor
.void
visitReverse(DataModelVisitor v)
Visit thisIDatabaseObject
with the givenDataModelVisitor
.-
Methods inherited from class org.linuxforhealth.fhir.database.utils.model.BaseObject
addDependencies, addDependency, addPrivilege, addTag, addTags, applyDistributionRules, applyTx, applyVersion, collect, equals, fetchDependenciesTo, getName, getObjectName, getObjectType, getQualifiedName, getSchemaName, getTags, getTypeNameVersion, getVersion, grant, hashCode, toString, visit
-
-
-
-
Constructor Detail
-
View
protected View(java.lang.String schemaName, java.lang.String objectName, int version, java.lang.String selectClause, java.util.Collection<IDatabaseObject> dependencies, java.util.Map<java.lang.String,java.lang.String> tags, java.util.Collection<GroupPrivilege> privileges, java.util.List<Migration> migrations, boolean create)
Protected constructor- Parameters:
schemaName
-objectName
-version
-selectClause
-dependencies
-tags
-privileges
-migrations
-create
-
-
-
Method Detail
-
apply
public void apply(ISchemaAdapter target, SchemaApplyContext context)
Description copied from interface:IDatabaseObject
Apply the DDL for this object to the target database- Parameters:
target
- the database targetcontext
- context to control the schema apply process
-
apply
public void apply(java.lang.Integer priorVersion, ISchemaAdapter target, SchemaApplyContext context)
Description copied from interface:IDatabaseObject
Apply migration logic to bring the target database to the current level of this objecttarget
- the database targetcontext
- to control the schema apply process
-
grantGroupPrivileges
protected void grantGroupPrivileges(ISchemaAdapter target, java.util.Set<Privilege> group, java.lang.String toUser)
Description copied from class:BaseObject
Internal method which can be override by different object types which may need to call a different grant method on the adapter- Overrides:
grantGroupPrivileges
in classBaseObject
-
drop
public void drop(ISchemaAdapter target)
Description copied from interface:IDatabaseObject
DROP this object from the target database
-
visit
public void visit(DataModelVisitor v)
Description copied from interface:IDatabaseObject
Visit thisIDatabaseObject
with the givenDataModelVisitor
. Any sub-objects should be visited in creation order.
-
visitReverse
public void visitReverse(DataModelVisitor v)
Description copied from interface:IDatabaseObject
Visit thisIDatabaseObject
with the givenDataModelVisitor
. Any sub-objects should be visited in reverse order.
-
builder
public static View.Builder builder(java.lang.String schemaName, java.lang.String viewName)
Create a new Builder instance which can be used to create immutable instances ofView
- Returns:
-
isCreate
public boolean isCreate()
Getter for the create flag- Returns:
- whether the view should be created or not
-
-