SecurityTargetObject
Represents the target object that can be used in security statement body.
using System;
using System.Collections.Generic;
namespace Microsoft.SqlServer.TransactSql.ScriptDom
{
[Serializable]
public class SecurityTargetObject : TSqlFragment
{
private SecurityObjectKind _objectKind;
private SecurityTargetObjectName _objectName;
private List<Identifier> _columns = new List<Identifier>();
public SecurityObjectKind ObjectKind {
get {
return _objectKind;
}
set {
_objectKind = value;
}
}
public SecurityTargetObjectName ObjectName {
get {
return _objectName;
}
set {
UpdateTokenInfo(value);
_objectName = value;
}
}
public IList<Identifier> Columns => _columns;
public override void Accept(TSqlFragmentVisitor visitor)
{
visitor?.ExplicitVisit(this);
}
public override void AcceptChildren(TSqlFragmentVisitor visitor)
{
if (ObjectName != null)
ObjectName.Accept(visitor);
int i = 0;
for (int count = Columns.Count; i < count; i++) {
Columns[i].Accept(visitor);
}
base.AcceptChildren(visitor);
}
}
}