-
- 参数类型
-
R- 此访问者方法的返回类型。 对于不需要返回结果的访问者,请使用Void。 -
P- 此访问者方法的附加参数的类型。 对于不需要其他参数的访问者,请使用Void。
- Enclosing interface:
- ModuleElement
public static interface ModuleElement.DirectiveVisitor<R,P>模块指令的访问者,以访问者设计模式的样式。 实现此接口的类用于在编译时未知指令类型时对指令进行操作。 当访问者传递给指令的accept方法时,将调用适用于该指令的visitXyz方法。实现此界面的类可以或可以不抛出
NullPointerException如果附加参数p是null; 有关详细信息,请参阅实现类的文档。警告:可能会将方法添加到此接口,以适应未来版本的Java™编程语言中添加的新的,当前未知的语言结构。 将使用默认方法以源兼容的方式添加适应新语言结构的方法 。
- 从以下版本开始:
- 9
-
-
方法摘要
所有方法 实例方法 抽象方法 Default Methods 变量和类型 方法 描述 default Rvisit(ModuleElement.Directive d)访问任何指令,就像将其自身传递给该指令的accept方法并传递null作为附加参数一样。default Rvisit(ModuleElement.Directive d, P p)访问任何指令,就像将其自身传递给该指令的accept方法一样。RvisitExports(ModuleElement.ExportsDirective d, P p)访问输出指令。RvisitOpens(ModuleElement.OpensDirective d, P p)访问opens指令。RvisitProvides(ModuleElement.ProvidesDirective d, P p)访问提供者指令。RvisitRequires(ModuleElement.RequiresDirective d, P p)访问requires指令。default RvisitUnknown(ModuleElement.Directive d, P p)访问未知指令。RvisitUses(ModuleElement.UsesDirective d, P p)访问uses指令。
-
-
-
方法详细信息
-
visit
default R visit(ModuleElement.Directive d)
访问任何指令,就像将其自身传递给该指令的accept方法并传递null作为附加参数一样。- 实现要求:
-
默认实现是
d.accept(v, null)。 - 参数
-
d- 要访问的指令 - 结果
- 访客指定的结果
-
visit
default R visit(ModuleElement.Directive d, P p)
访问任何指令,就像通过将自身传递给该指令的accept方法一样。- 实现要求:
-
默认实现是
d.accept(v, p)。 - 参数
-
d- 要访问的指令 -
p- 访问者指定的参数 - 结果
- 访客指定的结果
-
visitRequires
R visitRequires(ModuleElement.RequiresDirective d, P p)
访问requires指令。- 参数
-
d- 要访问的指令 -
p- 访问者指定的参数 - 结果
- 访客指定的结果
-
visitExports
R visitExports(ModuleElement.ExportsDirective d, P p)
访问输出指令。- 参数
-
d- 要访问的指令 -
p- 访问者指定的参数 - 结果
- 访客指定的结果
-
visitOpens
R visitOpens(ModuleElement.OpensDirective d, P p)
访问opens指令。- 参数
-
d- 要访问的指令 -
p- 访问者指定的参数 - 结果
- 访客指定的结果
-
visitUses
R visitUses(ModuleElement.UsesDirective d, P p)
访问uses指令。- 参数
-
d- 访问指令 -
p- 访问者指定的参数 - 结果
- 访客指定的结果
-
visitProvides
R visitProvides(ModuleElement.ProvidesDirective d, P p)
访问提供者指令。- 参数
-
d- 要访问的指令 -
p- 访问者指定的参数 - 结果
- 访客指定的结果
-
visitUnknown
default R visitUnknown(ModuleElement.Directive d, P p)
访问未知指令。 如果语言发展并添加了新类型的指令,就会发生这种情况。- 实现要求:
-
默认实现抛出
new UnknownDirectiveException(d, p)。 - 参数
-
d- 要访问的指令 -
p- 访问者指定的参数 - 结果
- 访客指定的结果
- 异常
-
UnknownDirectiveException- 访问者实现可以选择抛出此异常
-
-