- public static List<ModuleBuilder> sort(ModuleBuilder... builders) {
- List<Node> sorted = sortInternal(Arrays.asList(builders));
- // Cast to ModuleBuilder from Node and return
- return Lists.transform(sorted, new Function<Node, ModuleBuilder>() {
-
- @Override
- public ModuleBuilder apply(Node input) {
- return (ModuleBuilder) ((ModuleNodeImpl) input).getReference();
- }
- });
- }
-
- public static List<ModuleBuilder> sortWithContext(SchemaContext context, ModuleBuilder... builders) {
- List<Object> modules = new ArrayList<Object>();
- Collections.addAll(modules, builders);
- modules.addAll(context.getModules());
-
- List<Node> sorted = sortInternal(modules);
- // Cast to ModuleBuilder from Node if possible and return
- return Lists.transform(sorted, new Function<Node, ModuleBuilder>() {
-
- @Override
- public ModuleBuilder apply(Node input) {
- if (((ModuleNodeImpl) input).getReference() instanceof ModuleBuilder) {
- return (ModuleBuilder) ((ModuleNodeImpl) input).getReference();
- } else {
- return null;
- }
- }
- });