-
Notifications
You must be signed in to change notification settings - Fork 587
/
immutablePrimitiveBagFactory.stg
112 lines (88 loc) · 2.27 KB
/
immutablePrimitiveBagFactory.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
import "copyrightAndOthers.stg"
targetPath() ::= "org/eclipse/collections/api/factory/bag/primitive"
fileName(primitive) ::= "Immutable<primitive.name>BagFactory"
class(primitive) ::= <<
<body(primitive.type, primitive.name)>
>>
body(type, name) ::= <<
<copyrightAndOthers()>
package org.eclipse.collections.api.factory.bag.primitive;
import org.eclipse.collections.api.<name>Iterable;
import org.eclipse.collections.api.bag.primitive.Immutable<name>Bag;
<(wideStreamImport.(type))>
/**
* A factory which creates instances of type {@link Immutable<name>Bag}.
* This file was automatically generated from template file immutablePrimitiveBagFactory.stg.
*
* @since 4.0.
*/
public interface Immutable<name>BagFactory
{
/**
* @since 6.0
*/
Immutable<name>Bag empty();
/**
* Same as {@link #empty()}.
*/
Immutable<name>Bag of();
/**
* Same as {@link #empty()}.
*/
Immutable<name>Bag with();
/**
* Same as {@link #with(<type>)}.
*/
Immutable<name>Bag of(<type> one);
Immutable<name>Bag with(<type> one);
/**
* Same as {@link #with(<type>[])}.
*/
Immutable<name>Bag of(<type>... items);
Immutable<name>Bag with(<type>... items);
/**
* Same as {@link #withAll(<name>Iterable)}.
*/
Immutable<name>Bag ofAll(<name>Iterable items);
Immutable<name>Bag withAll(<name>Iterable items);
<(streamMethods.(type))()>
}
>>
streamMethods ::= [
"byte": "noMethods",
"short": "noMethods",
"char": "noMethods",
"int": "allMethods",
"long": "allMethods",
"float": "noMethods",
"double": "allMethods",
"boolean": "noMethods"
]
allMethods() ::= <<
/**
* @since 9.0
*/
Immutable<name>Bag ofAll(<(wideStream.(type))> items);
/**
* @since 9.0
*/
Immutable<name>Bag 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"
]