»
S
I
D
E
B
A
R
«
Preconditions, Design by Contract
Mar 6th, 2009 by Rikard Qvarforth
Är det någon mer än jag som hatar dessa ständiga null check kollar i java, i enlighet med Design by contract?!

Och är det någon som har skapat någon “kollaOmNull”-metod som återfinns i någon util klass?

om ja på något av alternativen så kolla in detta i GoggleCollections…


 Java |  copy code |? 
1
2
public Person(final Long id, final String name, final Integer age) {
3
 
4
Preconditions.checkArgument(id != null);
5
 
6
}
7


Samt om du vill se i en lista eller dylika om det har smygit sig in något null värde.


 Java |  copy code |? 
1
2
public void setNames(List<String> names){
3
 
4
Preconditions.checkContentsNotNull(names,"A null name was in the Collection!");
5
 
6
this.names = names;
7
 
8
}
9
En myckettrevlig klass för att kolla preconditions finns i flera olika varienter.

Om ni inte vill ta in hela google-collections så ta bara java sourcen och klistra in ;) (copy paste kodning är bra ibland

kommentarer, har ni inte en util-klass liggandes någonstans som gör något liknade?
Google-Collections Transform
Mar 5th, 2009 by Rikard Qvarforth
Hej! satt idag på jobbet och insåg att man skyfflar från ett format till ett annat med alla möjliga snurror. Produkt.getId() till –> List produktIdList;

Såg att Goggle-Collections har en transform metod så det hela resulterade i detta:
 Java |  copy code |? 
01
02
package functions;
03
 
04
import com.google.common.base.Function;
05
 
06
import domain.Person;
07
 
08
public final class TransformFunctionPersonToId implements Function
09
 
10
{
11
 
12
@Override
13
 
14
public Long apply(final Person personToTransform) {
15
 
16
return personToTransform != null ? personToTransform.getId() : null;
17
 
18
}
19
 
20
}
21
... samt lilla testet..
 Java |  copy code |? 
01
02
@Test
03
public void testShouldTransformListOfPersonToListOfLong(){
04
 
05
//Given
06
 
07
Person one = new Person(1L,"pär",12);
08
 
09
Person two = new Person(2L,"eno",22);
10
 
11
Person tree = new Person(3L,"leo",32);
12
 
13
Person four = new Person(4L,"pia",42);
14
 
15
List
16
 
17
persons = new ArrayList
18
 
19
();
20
 
21
persons.add(one);
22
 
23
persons.add(two);
24
 
25
persons.add(tree);
26
 
27
persons.add(four);
28
 
29
//When
30
 
31
List<Long> personIdList =
32
 
33
Lists.transform(persons, new TransformFunctionPersonToId());
34
 
35
//Then
36
 
37
Long test = 1L;
38
 
39
for(Long id : personIdList){
40
 
41
System.out.println("ID: "+id);
42
 
43
Assert.assertEquals(id.longValue(),(test++));
44
 
45
}
46
 
47
}
48
»  Substance: WordPress   »  Style: Ahren Ahimsa
© copyright@alltomjava