bernard
authored
2013-04-04 13:08:24 +0000
1
package pl . itcrowd . youtrack . api ;
bernard
authored
2012-07-03 10:19:33 +0000
2
bernard
authored
2013-04-04 13:08:24 +0000
3
4
import pl.itcrowd.youtrack.api.defaults.Fields ;
import pl.itcrowd.youtrack.api.defaults.StateValues ;
bernard
authored
2012-07-03 10:19:33 +0000
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Command {
protected StringBuilder command = new StringBuilder ();
public static Command assigneeCommand ( String assignee )
{
return new Command (). assignee ( assignee );
}
public static Command stateCommand ( String state )
{
return new Command (). state ( state );
}
public static Command stateCommand ( StateValues state )
{
return new Command (). state ( state );
}
bernard
authored
2012-07-03 10:54:11 +0000
25
protected Command ()
bernard
authored
2012-07-03 10:19:33 +0000
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
{
}
@Override
public String toString ()
{
return command . toString (). trim ();
}
public Command assignee ( String assignee )
{
return command ( Fields . assignee , assignee );
}
public Command state ( String state )
{
return command ( Fields . state , state );
}
public Command state ( StateValues state )
{
if ( state . getCommandValue () == null ) {
throw new IllegalArgumentException ( "Cannot set readonly state: " + state );
}
return state ( state . getCommandValue ());
}
bernard
authored
2012-07-03 14:12:15 +0000
53
protected Command command ( Commander commander , String argument )
bernard
authored
2012-07-03 10:19:33 +0000
54
{
bernard
authored
2012-07-03 14:12:15 +0000
55
this . command . append ( " " ). append ( commander . getCommand ()). append ( " " ). append ( argument );
bernard
authored
2012-07-03 10:19:33 +0000
56
57
58
return this ;
}
}