-
Notifications
You must be signed in to change notification settings - Fork 586
/
immutablePrimitivePrimitiveMap.stg
76 lines (55 loc) · 2.17 KB
/
immutablePrimitivePrimitiveMap.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
import "copyright.stg"
skipBooleanKeys() ::= "true"
hasTwoPrimitives() ::= "true"
targetPath() ::= "org/eclipse/collections/api/map/primitive"
fileName(primitive1, primitive2, sameTwoPrimitives) ::= "Immutable<primitive1.name><primitive2.name>Map"
class(primitive1, primitive2, sameTwoPrimitives) ::= <<
<body(primitive1.type, primitive2.type, primitive1.name, primitive2.name)>
>>
body(type1, type2, name1, name2) ::= <<
<copyright()>
package org.eclipse.collections.api.map.primitive;
import org.eclipse.collections.api.<name1>Iterable;
import org.eclipse.collections.api.bag.ImmutableBag;
import org.eclipse.collections.api.bag.primitive.Immutable<name2>Bag;
import org.eclipse.collections.api.block.function.primitive.<name2>ToObjectFunction;
import org.eclipse.collections.api.block.predicate.primitive.<name2>Predicate;
import org.eclipse.collections.api.block.predicate.primitive.<name1><name2>Predicate;
/**
* This file was automatically generated from template file immutablePrimitivePrimitiveMap.stg.
*
* @since 3.0.
*/
public interface Immutable<name1><name2>Map extends <name1><name2>Map
{
@Override
Immutable<name1><name2>Map select(<name1><name2>Predicate predicate);
@Override
Immutable<name1><name2>Map reject(<name1><name2>Predicate predicate);
@Override
Immutable<name2>Bag select(<name2>Predicate predicate);
@Override
Immutable<name2>Bag reject(<name2>Predicate predicate);
@Override
\<V> ImmutableBag\<V> collect(<name2>ToObjectFunction\<? extends V> function);
Immutable<name1><name2>Map newWithKeyValue(<type1> key, <type2> value);
Immutable<name1><name2>Map newWithoutKey(<type1> key);
Immutable<name1><name2>Map newWithoutAllKeys(<name1>Iterable keys);
<(flipUniqueValues.(name2))(name1, name2)>
}
>>
flipUniqueValues ::= [
"Byte": "flipUniqueValues",
"Short": "flipUniqueValues",
"Char": "flipUniqueValues",
"Int": "flipUniqueValues",
"Long": "flipUniqueValues",
"Float": "flipUniqueValues",
"Double": "flipUniqueValues",
"Boolean": "noMethods"
]
noMethods(name1, name2) ::= ""
flipUniqueValues(name1, name2) ::= <<
@Override
Immutable<name2><name1>Map flipUniqueValues();
>>