1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.kew.api.action;
17
18 import javax.xml.bind.annotation.XmlAccessType;
19 import javax.xml.bind.annotation.XmlAccessorType;
20 import javax.xml.bind.annotation.XmlElement;
21 import javax.xml.bind.annotation.XmlRootElement;
22 import javax.xml.bind.annotation.XmlType;
23
24 import org.apache.commons.lang.StringUtils;
25
26 @XmlRootElement(name = AdHocToPrincipal.Constants.ROOT_ELEMENT_NAME)
27 @XmlAccessorType(XmlAccessType.NONE)
28 @XmlType(name = AdHocToPrincipal.Constants.TYPE_NAME, propOrder = {
29 AdHocToPrincipal.Elements.TARGET_PRINCIPAL_ID
30 })
31 public final class AdHocToPrincipal extends AdHocCommand {
32
33 private static final long serialVersionUID = -4512561589558793736L;
34
35 @XmlElement(name = Elements.TARGET_PRINCIPAL_ID, required = true)
36 private final String targetPrincipalId;
37
38 private AdHocToPrincipal() {
39 this.targetPrincipalId = null;
40 }
41
42 private AdHocToPrincipal(Builder builder) {
43 super(builder);
44 this.targetPrincipalId = builder.getTargetPrincipalId();
45 }
46
47 public String getTargetPrincipalId() {
48 return targetPrincipalId;
49 }
50
51 public static final class Builder extends AdHocCommand.Builder<AdHocToPrincipal> {
52
53 private static final long serialVersionUID = 5288681963619747957L;
54
55 private String targetPrincipalId;
56
57 private Builder(ActionRequestType actionRequested, String nodeName, String targetPrincipalId) {
58 super(actionRequested, nodeName);
59 setTargetPrincipalId(targetPrincipalId);
60 }
61
62 public static Builder create(ActionRequestType actionRequested, String nodeName, String targetPrincipalId) {
63 return new Builder(actionRequested, nodeName, targetPrincipalId);
64 }
65
66 public String getTargetPrincipalId() {
67 return targetPrincipalId;
68 }
69
70 public void setTargetPrincipalId(String targetPrincipalId) {
71 if (StringUtils.isBlank(targetPrincipalId)) {
72 throw new IllegalArgumentException("targetPrincipalId was null or blank");
73 }
74 this.targetPrincipalId = targetPrincipalId;
75 }
76
77 @Override
78 public AdHocToPrincipal build() {
79 return new AdHocToPrincipal(this);
80 }
81
82 }
83
84
85
86
87 static class Constants {
88 final static String ROOT_ELEMENT_NAME = "adHocPrincipal_v2_1_3";
89 final static String TYPE_NAME = "AdHocToPrincipalType_v2_1_3";
90 }
91
92
93
94
95 static class Elements {
96 final static String TARGET_PRINCIPAL_ID = "targetPrincipalId";
97 }
98
99
100 }