001package gudusoft.gsqlparser.nodes.oceanbase;
002
003import gudusoft.gsqlparser.nodes.TObjectName;
004import gudusoft.gsqlparser.nodes.TParseTreeNode;
005import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
006
007/**
008 * A single OceanBase DBLINK option inside a {@code CREATE DBLINK} option list.
009 *
010 * <p>Represents the connection parameters documented in the OceanBase admin
011 * guide for cross-tenant database links:
012 * <ul>
013 *   <li>{@code TENANT = 'oracle_tenant'}</li>
014 *   <li>{@code HOST = '10.0.0.1'}</li>
015 *   <li>{@code PORT = 2883}</li>
016 *   <li>{@code DATABASE = 'db1'}</li>
017 *   <li>{@code USER = 'user1'}</li>
018 *   <li>{@code PASSWORD = 'pass123'}</li>
019 * </ul>
020 *
021 * @since 4.0.1.4
022 */
023public class TOceanbaseDblinkOption extends TParseTreeNode {
024
025    private String name;
026    private TObjectName value;
027
028    public String getName() {
029        return name;
030    }
031
032    public void setName(String name) {
033        this.name = name;
034    }
035
036    public TObjectName getValue() {
037        return value;
038    }
039
040    public void setValue(TObjectName value) {
041        this.value = value;
042    }
043
044    @Override
045    public void accept(TParseTreeVisitor v) {
046        v.preVisit(this);
047        v.postVisit(this);
048    }
049
050    @Override
051    public void acceptChildren(TParseTreeVisitor v) {
052        v.preVisit(this);
053        if (value != null) {
054            value.acceptChildren(v);
055        }
056        v.postVisit(this);
057    }
058}