Java - Class 链接

Java - Class Chaining

假设您有以下 Class 静态定义方法。

每个 class 都有一些方法,例如

public static void waitUntilServiceIsPresent(String serviceName){
  // implementation...
}

public static void waitUntilServiceDeletion(String serviceName){
  // implementation...
}

public static void waitUntilServiceIsUpdated(String serviceName){
  // implementation...
}

and so on...

所以在用户视图中我们需要像这样调用它:ServiceUtils.waitUntilServiceIsPresent(serviceName);

我需要的语法糖将使用 Class 链接,但我不知道我该怎么做。示例:

KubeUtils.ServiceUtils.waitUntilServiceIsPresent(serviceName)

or 

KubeUtils.getServiceUtils.waitUntilServicePresent(serviceName)

请记住,我在这些 classes 中只有静态方法,我不想使用组合。我的目标是在不创建对象的情况下使用此方法。希望,我的解释很清楚。

我会继续说我认为这不是一个好的做法,但作为一个练习:你可以通过内部 类:

public class KubeUtils {
    public static class ServiceUtils {
        public static void waitUntilServiceIsPresent(String serviceName){
            ...
        }
    }
}

通话中:

KubeUtils.ServiceUtils.waitUtilServiceIsPresent(...);

为了更好地练习,我可能会使用包结构来构建您的实用程序 类,如下所示:

com.domain.project
├── kube
│   ├── ServiceUtil
│   └── FooUtil
└── bar
    └── BazUtil