从内部记录访问非静态外部上下文
Access non-static outer context from within inner record
免责声明我已经有一段时间没有在这里提问了,所以请对我温柔一点:)
我正在尝试从我的业务对象生成一个状态,理想情况下,它应该保持封装状态。我的想法是定义一个具有内部表示的 class 并有一种方法来 return 一个状态对象,稍后将映射到不同的视图表示。所以我想象了这样的事情:
State state = order.State();
其中 Order 和 State 的定义如下:
public class Order {
private String identifier;
record State(String number) {
public State() {
this(identifier);
}
}
}
所以我的问题是如何定义内部记录和外部记录之间的关系 class,以便我可以访问实例属性(最好使用 with默认记录构造函数)并将它们映射到不可变结构上而不 运行 进入静态、非静态上下文问题?
(我排除了在外部 class 上创建其他方法的可能性,例如:toState()
)
将方法从记录移至 class。
public class Order {
private String identifier;
public State state() {
return new State(identifier);
}
record State(String number){}
}
免责声明我已经有一段时间没有在这里提问了,所以请对我温柔一点:)
我正在尝试从我的业务对象生成一个状态,理想情况下,它应该保持封装状态。我的想法是定义一个具有内部表示的 class 并有一种方法来 return 一个状态对象,稍后将映射到不同的视图表示。所以我想象了这样的事情:
State state = order.State();
其中 Order 和 State 的定义如下:
public class Order {
private String identifier;
record State(String number) {
public State() {
this(identifier);
}
}
}
所以我的问题是如何定义内部记录和外部记录之间的关系 class,以便我可以访问实例属性(最好使用 with默认记录构造函数)并将它们映射到不可变结构上而不 运行 进入静态、非静态上下文问题?
(我排除了在外部 class 上创建其他方法的可能性,例如:toState()
)
将方法从记录移至 class。
public class Order {
private String identifier;
public State state() {
return new State(identifier);
}
record State(String number){}
}