1414import java .util .Collections ;
1515import java .util .List ;
1616import java .util .Optional ;
17+ import static java .util .stream .Collectors .joining ;
1718import net .sf .jsqlparser .statement .Statement ;
1819import net .sf .jsqlparser .statement .StatementVisitor ;
1920
2021public class Grant implements Statement {
2122
2223 private String role ;
2324 private List <String > privileges ;
24- private String objectName ;
25+ private List < String > objectName = new ArrayList <>() ;
2526 private List <String > users ;
2627
2728 @ Override
@@ -46,11 +47,23 @@ public void setPrivileges(List<String> privileges) {
4647 }
4748
4849 public String getObjectName () {
50+ return objectName .size ()==0 ?null :objectName .stream ()
51+ .map (part -> part ==null ?"" :part )
52+ .collect (joining ("." ));
53+ }
54+
55+ public List <String > getObjectNameParts () {
4956 return objectName ;
5057 }
5158
5259 public void setObjectName (String objectName ) {
53- this .objectName = objectName ;
60+ this .objectName .clear ();
61+ this .objectName .add (objectName );
62+ }
63+
64+ public void setObjectName (List <String > objectName ) {
65+ this .objectName .clear ();
66+ this .objectName .addAll (objectName );
5467 }
5568
5669 public List <String > getUsers () {
@@ -102,6 +115,11 @@ public Grant withObjectName(String objectName) {
102115 this .setObjectName (objectName );
103116 return this ;
104117 }
118+
119+ public Grant withObjectName (List <String > objectName ) {
120+ this .setObjectName (objectName );
121+ return this ;
122+ }
105123
106124 public Grant withUsers (List <String > users ) {
107125 this .setUsers (users );
0 commit comments