/
immutablePrimitiveStackFactory.stg
118 lines (94 loc) · 2.51 KB
/
immutablePrimitiveStackFactory.stg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import "copyrightAndOthers.stg"
targetPath() ::= "org/eclipse/collections/api/factory/stack/primitive"
fileName(primitive) ::= "Immutable<primitive.name>StackFactory"
class(primitive) ::= <<
<body(primitive.type, primitive.name)>
>>
body(type, name) ::= <<
<copyrightAndOthers()>
package org.eclipse.collections.api.factory.stack.primitive;
import org.eclipse.collections.api.<name>Iterable;
import org.eclipse.collections.api.stack.primitive.Immutable<name>Stack;
<(wideStreamImport.(type))>
/**
* A factory which creates instances of type {@link Immutable<name>Stack}.
* This file was automatically generated from template file immutablePrimitiveStackFactory.stg.
*
* @since 4.0.
*/
public interface Immutable<name>StackFactory
{
/**
* @since 6.0
*/
Immutable<name>Stack empty();
/**
* Same as {@link #empty()}.
*/
Immutable<name>Stack of();
/**
* Same as {@link #empty()}.
*/
Immutable<name>Stack with();
/**
* Same as {@link #with(<type>)}.
*/
Immutable<name>Stack of(<type> one);
Immutable<name>Stack with(<type> one);
/**
* Same as {@link #with(<type>[])}.
*/
Immutable<name>Stack of(<type>... items);
Immutable<name>Stack with(<type>... items);
/**
* Same as {@link #withAll(<name>Iterable)}.
*/
Immutable<name>Stack ofAll(<name>Iterable items);
Immutable<name>Stack withAll(<name>Iterable items);
/**
* Same as {@link #withAllReversed(<name>Iterable)}.
*/
Immutable<name>Stack ofAllReversed(<name>Iterable items);
Immutable<name>Stack withAllReversed(<name>Iterable items);
<(streamMethods.(type))()>
}
>>
streamMethods ::= [
"byte": "noMethods",
"short": "noMethods",
"char": "noMethods",
"int": "allMethods",
"long": "allMethods",
"float": "noMethods",
"double": "allMethods",
"boolean": "noMethods"
]
allMethods() ::= <<
<\n>
/**
* @since 9.0
*/
Immutable<name>Stack ofAll(<(wideStream.(type))> items);
/**
* @since 9.0
*/
Immutable<name>Stack withAll(<(wideStream.(type))> items);
>>
noMethods() ::= ""
wideStream ::= [
"int": "IntStream",
"long": "LongStream",
"double": "DoubleStream",
default: "no matching wide type"
]
wideStreamImport ::= [
"boolean": "",
"byte": "",
"short": "",
"char": "",
"int": "import java.util.stream.IntStream;",
"long": "import java.util.stream.LongStream;",
"float": "",
"double": "import java.util.stream.DoubleStream;",
default: "no matching wide type"
]