Skip to content

Commit 1e6f370

Browse files
committed
Update fluent models.
1 parent 280aa14 commit 1e6f370

File tree

2,003 files changed

+166598
-244851
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,003 files changed

+166598
-244851
lines changed

fluent/src/main/java/io/kubernetes/client/fluent/BaseFluent.java

Lines changed: 98 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -10,115 +10,102 @@
1010
import java.util.List;
1111
import java.lang.Boolean;
1212
import java.util.Arrays;
13-
14-
public class BaseFluent<F extends io.kubernetes.client.fluent.Fluent<F>> implements io.kubernetes.client.fluent.Fluent<F>,io.kubernetes.client.fluent.Visitable<F> {
15-
16-
public static final java.lang.String VISIT = "visit";
17-
public final io.kubernetes.client.fluent.VisitableMap _visitables = new VisitableMap();
18-
19-
public static <T>io.kubernetes.client.fluent.VisitableBuilder<T,?> builderOf(T item) {
20-
if (item instanceof Editable) {
21-
Object editor = ((Editable) item).edit();
22-
if (editor instanceof VisitableBuilder) {
23-
return (VisitableBuilder<T, ?>) editor;
24-
}
25-
}
26-
try {
27-
return (VisitableBuilder<T, ?>) Class.forName(item.getClass().getName() + "Builder").getConstructor(item.getClass())
28-
.newInstance(item);
29-
} catch (Exception e) {
30-
throw new IllegalStateException("Failed to create builder for: " + item.getClass(), e);
31-
}
32-
}
33-
34-
public static <T>java.util.ArrayList<T> build(java.util.List<? extends io.kubernetes.client.fluent.Builder<? extends T>> list) {
35-
return list == null ? null : new ArrayList<T>(list.stream().map(Builder::build).collect(Collectors.toList()));
36-
}
37-
38-
public static <T>java.util.List<T> build(java.util.Set<? extends io.kubernetes.client.fluent.Builder<? extends T>> set) {
39-
return set == null ? null : set.stream().map(Builder::build).collect(Collectors.toList());
40-
}
41-
42-
public static <T>java.util.ArrayList<T> aggregate(java.util.List<? extends T>... lists) {
43-
return new ArrayList(Arrays.stream(lists).filter(Objects::nonNull).collect(Collectors.toList()));
44-
}
45-
46-
public static <T>java.util.LinkedHashSet<T> aggregate(java.util.Set<? extends T>[] sets) {
47-
return new LinkedHashSet(Arrays.stream(sets).filter(Objects::nonNull).collect(Collectors.toSet()));
48-
}
49-
50-
public static <V extends io.kubernetes.client.fluent.Visitor<?>,F>java.lang.Boolean canVisit(V visitor,F fluent) {
51-
if (visitor instanceof TypedVisitor) {
52-
if (!((TypedVisitor) visitor).getType().isAssignableFrom(fluent.getClass())) {
53-
return false;
54-
}
55-
}
56-
if (visitor instanceof PathAwareTypedVisitor) {
57-
PathAwareTypedVisitor pathAwareTypedVisitor = (PathAwareTypedVisitor) visitor;
58-
Class parentType = pathAwareTypedVisitor.getParentType();
59-
Class actaulParentType = pathAwareTypedVisitor.getActualParentType();
60-
if (!parentType.isAssignableFrom(actaulParentType)) {
61-
return false;
62-
}
63-
}
64-
return hasCompatibleVisitMethod(visitor, fluent);
65-
}
66-
67-
public static <V,F>java.lang.Boolean hasCompatibleVisitMethod(V visitor,F fluent) {
68-
for (java.lang.reflect.Method method : visitor.getClass().getMethods()) {
69-
if (!method.getName().equals(VISIT) || method.getParameterTypes().length != 1) {
70-
continue;
71-
}
72-
Class visitorType = method.getParameterTypes()[0];
73-
if (visitorType.isAssignableFrom(fluent.getClass())) {
74-
return true;
75-
} else {
76-
return false;
77-
}
78-
}
79-
return false;
80-
}
81-
82-
public F accept(io.kubernetes.client.fluent.Visitor... visitors) {
83-
return isPathAwareVisitorArray(visitors) ? acceptPathAware(asPathAwareVisitorArray(visitors)) : acceptInternal(visitors);
84-
}
85-
86-
public <V>F accept(java.lang.Class<V> type,io.kubernetes.client.fluent.Visitor<V> visitor) {
87-
return accept(new TypedVisitor<V>() {
88-
@Override
89-
public Class<V> getType() {
90-
return type;
91-
}
92-
@Override
93-
public void visit(V element) {
94-
visitor.visit(element);
95-
}
96-
});
97-
}
98-
99-
public F acceptInternal(io.kubernetes.client.fluent.Visitor<?>... visitors) {
100-
for (Visitor visitor : visitors) {
101-
for (Visitable visitable : _visitables) {
102-
visitable.accept(visitor);
103-
}
104-
105-
if (canVisit(visitor, this)) {
106-
visitor.visit(this);
107-
}
108-
}
109-
return (F) this;
110-
}
111-
112-
private F acceptPathAware(io.kubernetes.client.fluent.PathAwareTypedVisitor<?,?>... pathAwareTypedVisitors) {
113-
return acceptInternal(Arrays.stream(pathAwareTypedVisitors).map(p -> p.next(this)).toArray(size -> new PathAwareTypedVisitor[size]));
114-
}
115-
116-
private static boolean isPathAwareVisitorArray(io.kubernetes.client.fluent.Visitor<?>[] visitors) {
117-
return !Arrays.stream(visitors).filter(v -> !(v instanceof PathAwareTypedVisitor)).findAny().isPresent();
118-
}
119-
120-
private static io.kubernetes.client.fluent.PathAwareTypedVisitor<?,?>[] asPathAwareVisitorArray(io.kubernetes.client.fluent.Visitor<?>[] visitors) {
121-
return Arrays.stream(visitors).filter(v -> v instanceof PathAwareTypedVisitor).map(v -> (PathAwareTypedVisitor) v).toArray(size -> new PathAwareTypedVisitor[size]);
122-
}
123-
13+
public class BaseFluent<F extends io.kubernetes.client.fluent.Fluent<F>> implements io.kubernetes.client.fluent.Fluent<F>,io.kubernetes.client.fluent.Visitable<F>{
14+
public static final java.lang.String VISIT = "visit";
15+
public final io.kubernetes.client.fluent.VisitableMap _visitables = new VisitableMap();
16+
public static <T>io.kubernetes.client.fluent.VisitableBuilder<T,?> builderOf(T item) {
17+
if (item instanceof Editable) {
18+
Object editor = ((Editable) item).edit();
19+
if (editor instanceof VisitableBuilder) {
20+
return (VisitableBuilder<T, ?>) editor;
21+
}
22+
}
23+
try {
24+
return (VisitableBuilder<T, ?>) Class.forName(item.getClass().getName() + "Builder").getConstructor(item.getClass())
25+
.newInstance(item);
26+
} catch (Exception e) {
27+
throw new IllegalStateException("Failed to create builder for: " + item.getClass(), e);
28+
}
29+
30+
}
31+
public static <T>java.util.ArrayList<T> build(java.util.List<? extends io.kubernetes.client.fluent.Builder<? extends T>> list) {
32+
return list == null ? null : new ArrayList<T>(list.stream().map(Builder::build).collect(Collectors.toList()));
33+
}
34+
public static <T>java.util.ArrayList<T> build(java.util.Set<? extends io.kubernetes.client.fluent.Builder<? extends T>> set) {
35+
return set == null ? null : new ArrayList<>(set.stream().map(Builder::build).collect(Collectors.toList()));
36+
}
37+
public static <T>java.util.ArrayList<T> aggregate(java.util.List<? extends T>... lists) {
38+
return new ArrayList(Arrays.stream(lists).filter(Objects::nonNull).collect(Collectors.toList()));
39+
}
40+
public static <T>java.util.LinkedHashSet<T> aggregate(java.util.Set<? extends T>[] sets) {
41+
return new LinkedHashSet(Arrays.stream(sets).filter(Objects::nonNull).collect(Collectors.toSet()));
42+
}
43+
public static <V extends io.kubernetes.client.fluent.Visitor<?>,F>java.lang.Boolean canVisit(V visitor,F fluent) {
44+
if (visitor instanceof TypedVisitor) {
45+
if (!((TypedVisitor) visitor).getType().isAssignableFrom(fluent.getClass())) {
46+
return false;
47+
}
48+
}
49+
if (visitor instanceof PathAwareTypedVisitor) {
50+
PathAwareTypedVisitor pathAwareTypedVisitor = (PathAwareTypedVisitor) visitor;
51+
Class parentType = pathAwareTypedVisitor.getParentType();
52+
Class actaulParentType = pathAwareTypedVisitor.getActualParentType();
53+
if (!parentType.isAssignableFrom(actaulParentType)) {
54+
return false;
55+
}
56+
}
57+
return hasCompatibleVisitMethod(visitor, fluent);
58+
59+
}
60+
public static <V,F>java.lang.Boolean hasCompatibleVisitMethod(V visitor,F fluent) {
61+
for (java.lang.reflect.Method method : visitor.getClass().getMethods()) {
62+
if (!method.getName().equals(VISIT) || method.getParameterTypes().length != 1) {
63+
continue;
64+
}
65+
Class visitorType = method.getParameterTypes()[0];
66+
if (visitorType.isAssignableFrom(fluent.getClass())) {
67+
return true;
68+
} else {
69+
return false;
70+
}
71+
}
72+
return false;
73+
}
74+
public F accept(io.kubernetes.client.fluent.Visitor... visitors) {
75+
return isPathAwareVisitorArray(visitors) ? acceptPathAware(asPathAwareVisitorArray(visitors)) : acceptInternal(visitors);
76+
}
77+
public <V>F accept(java.lang.Class<V> type,io.kubernetes.client.fluent.Visitor<V> visitor) {
78+
return accept(new TypedVisitor<V>() {
79+
@Override
80+
public Class<V> getType() {
81+
return type;
82+
}
83+
@Override
84+
public void visit(V element) {
85+
visitor.visit(element);
86+
}
87+
});
88+
}
89+
public F acceptInternal(io.kubernetes.client.fluent.Visitor<?>... visitors) {
90+
for (Visitor visitor : visitors) {
91+
for (Visitable visitable : _visitables) {
92+
visitable.accept(visitor);
93+
}
94+
95+
if (canVisit(visitor, this)) {
96+
visitor.visit(this);
97+
}
12498
}
99+
return (F) this;
100+
}
101+
private F acceptPathAware(io.kubernetes.client.fluent.PathAwareTypedVisitor<?,?>... pathAwareTypedVisitors) {
102+
return acceptInternal(Arrays.stream(pathAwareTypedVisitors).map(p -> p.next(this)).toArray(size -> new PathAwareTypedVisitor[size]));
103+
}
104+
private static boolean isPathAwareVisitorArray(io.kubernetes.client.fluent.Visitor<?>[] visitors) {
105+
return !Arrays.stream(visitors).filter(v -> !(v instanceof PathAwareTypedVisitor)).findAny().isPresent();
106+
}
107+
private static io.kubernetes.client.fluent.PathAwareTypedVisitor<?,?>[] asPathAwareVisitorArray(io.kubernetes.client.fluent.Visitor<?>[] visitors) {
108+
return Arrays.stream(visitors).filter(v -> v instanceof PathAwareTypedVisitor).map(v -> (PathAwareTypedVisitor) v).toArray(size -> new PathAwareTypedVisitor[size]);
109+
}
110+
111+
}
Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package io.kubernetes.client.fluent;
22

3-
4-
public interface Builder<T> {
5-
6-
7-
T build();
8-
}
3+
public interface Builder<T>{
4+
T build();
5+
6+
}
Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package io.kubernetes.client.fluent;
22

3-
4-
public interface Editable<T> {
5-
6-
7-
T edit();
8-
}
3+
public interface Editable<T>{
4+
T edit();
5+
6+
}
Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package io.kubernetes.client.fluent;
22

3-
4-
public interface Fluent<F extends io.kubernetes.client.fluent.Fluent<F>> {
5-
6-
7-
}
3+
public interface Fluent<F extends io.kubernetes.client.fluent.Fluent<F>>{
4+
5+
}
Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package io.kubernetes.client.fluent;
22

3-
4-
public interface Nested<F> {
5-
6-
7-
F and();
8-
}
3+
public interface Nested<F>{
4+
F and();
5+
6+
}

fluent/src/main/java/io/kubernetes/client/fluent/PathAwareTypedVisitor.java

Lines changed: 34 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -4,46 +4,37 @@
44
import java.lang.Class;
55
import java.lang.Object;
66
import java.util.List;
7-
8-
public class PathAwareTypedVisitor<V,P> extends io.kubernetes.client.fluent.TypedVisitor<V> {
9-
10-
java.util.List<java.lang.Object> path;
11-
io.kubernetes.client.fluent.PathAwareTypedVisitor<V,P> delegate;
12-
java.lang.Class<P> parentType;
13-
14-
PathAwareTypedVisitor(java.util.List<java.lang.Object> path) {
15-
this.path = path;
16-
this.delegate = this;
17-
this.parentType = (Class<P>) getTypeArguments(PathAwareTypedVisitor.class, getClass()).get(1);
18-
}
19-
20-
PathAwareTypedVisitor(java.util.List<java.lang.Object> path,io.kubernetes.client.fluent.PathAwareTypedVisitor<V,P> delegate) {
21-
this.path = path;
22-
this.delegate = this;
23-
this.parentType = (Class<P>) getTypeArguments(PathAwareTypedVisitor.class, delegate.getClass()).get(1);
24-
}
25-
26-
public void visit(V element) {
27-
delegate.path = path;
28-
delegate.visit(element);
29-
}
30-
31-
io.kubernetes.client.fluent.PathAwareTypedVisitor<V,P> next(java.lang.Object item) {
32-
List<Object> path = new ArrayList<Object>(this.path);
33-
path.add(item);
34-
return new PathAwareTypedVisitor<V, P>(path, this);
35-
}
36-
37-
P getParent() {
38-
return path.size() - 2 >= 0 ? (P) path.get(path.size() - 2) : null;
39-
}
40-
41-
java.lang.Class<P> getParentType() {
42-
return parentType != null ? parentType : delegate.getParentType();
43-
}
44-
45-
protected java.lang.Class<?> getActualParentType() {
46-
return path.size() - 2 >= 0 ? path.get(path.size() - 2).getClass() : Void.class;
47-
}
48-
49-
}
7+
public class PathAwareTypedVisitor<V,P> extends io.kubernetes.client.fluent.TypedVisitor<V>{
8+
PathAwareTypedVisitor(java.util.List<java.lang.Object> path) {
9+
this.path = path;
10+
this.delegate = this;
11+
this.parentType = (Class<P>) getTypeArguments(PathAwareTypedVisitor.class, getClass()).get(1);
12+
}
13+
PathAwareTypedVisitor(java.util.List<java.lang.Object> path,io.kubernetes.client.fluent.PathAwareTypedVisitor<V,P> delegate) {
14+
this.path = path;
15+
this.delegate = this;
16+
this.parentType = (Class<P>) getTypeArguments(PathAwareTypedVisitor.class, delegate.getClass()).get(1);
17+
}
18+
java.util.List<java.lang.Object> path;
19+
io.kubernetes.client.fluent.PathAwareTypedVisitor<V,P> delegate;
20+
java.lang.Class<P> parentType;
21+
public void visit(V element) {
22+
delegate.path = path;
23+
delegate.visit(element);
24+
}
25+
io.kubernetes.client.fluent.PathAwareTypedVisitor<V,P> next(java.lang.Object item) {
26+
List<Object> path = new ArrayList<Object>(this.path);
27+
path.add(item);
28+
return new PathAwareTypedVisitor<V, P>(path, this);
29+
}
30+
P getParent() {
31+
return path.size() - 2 >= 0 ? (P) path.get(path.size() - 2) : null;
32+
}
33+
java.lang.Class<P> getParentType() {
34+
return parentType != null ? parentType : delegate.getParentType();
35+
}
36+
protected java.lang.Class<?> getActualParentType() {
37+
return path.size() - 2 >= 0 ? path.get(path.size() - 2).getClass() : Void.class;
38+
}
39+
40+
}

0 commit comments

Comments
 (0)