3
targetPath() ::= "com/gs/collections/impl/list/immutable/primitive"
5
fileName(primitive) ::= "Immutable<primitive.name>ListFactoryImpl"
7
class(primitive) ::= <<
8
<body(primitive.type, primitive.name)>
11
body(type, name) ::= <<
14
package com.gs.collections.impl.list.immutable.primitive;
16
import com.gs.collections.api.<name>Iterable;
17
import com.gs.collections.api.factory.list.primitive.Immutable<name>ListFactory;
18
import com.gs.collections.api.list.primitive.Immutable<name>List;
21
* Immutable<name>ListFactoryImpl is a factory implementation which creates instances of type {@link Immutable<name>List}.
22
* This file was automatically generated from template file immutablePrimitiveListFactoryImpl.stg.
26
public class Immutable<name>ListFactoryImpl implements Immutable<name>ListFactory
28
public Immutable<name>List of()
33
public Immutable<name>List with()
35
return Immutable<name>EmptyList.INSTANCE;
38
public Immutable<name>List of(<type> one)
40
return this.with(one);
43
public Immutable<name>List with(<type> one)
45
return new Immutable<name>SingletonList(one);
48
public Immutable<name>List of(<type>... items)
50
return this.with(items);
53
public Immutable<name>List with(<type>... items)
55
if (items == null || items.length == 0)
59
if (items.length == 1)
61
return this.with(items[0]);
63
return Immutable<name>ArrayList.newListWith(items);
66
public Immutable<name>List ofAll(<name>Iterable items)
68
return this.withAll(items);
71
public Immutable<name>List withAll(<name>Iterable items)
73
if (items instanceof Immutable<name>List)
75
return (Immutable<name>List) items;
77
return this.with(items.toArray());