77import java .util .ArrayList ;
88import java .util .Calendar ;
99
10- /**
10+ /*
1111 ChargeTime.eu - Java-OCA-OCPP
1212 Copyright (C) 2015-2016 Thomas Volden <[email protected] > 1313
@@ -33,11 +33,22 @@ of this software and associated documentation files (the "Software"), to deal
3333 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
3434 SOFTWARE.
3535 */
36+
37+ /**
38+ * The core feature profile contains the features from OCPP v. 1.5
39+ * <p>
40+ * Contains methods to create outgoing client requests.
41+ */
3642public class CoreProfile implements Profile
3743{
3844 ClientCoreEventHandler eventHandler ;
3945 ArrayList <Feature > features ;
4046
47+ /**
48+ * Set up handler for client core feature requests.
49+
50+ * @param handler call back methods for client events
51+ */
4152 public CoreProfile (ClientCoreEventHandler handler ) {
4253 features = new ArrayList <>();
4354 eventHandler = handler ;
@@ -60,42 +71,119 @@ public CoreProfile(ClientCoreEventHandler handler) {
6071 features .add (new UnlockConnectorFeature (this ));
6172 }
6273
74+ /**
75+ * Create a client {@link AuthorizeRequest} with required values.
76+ *
77+ * @param idToken required identification token.
78+ * @return an instance of {@link AuthorizeRequest}.
79+ * @throws PropertyConstraintException cast if requires fields isn't filled out correctly.
80+ * @see AuthorizeRequest
81+ * @see AuthorizeFeature
82+ */
6383 public AuthorizeRequest createAuthorizeRequest (String idToken ) throws PropertyConstraintException {
6484 return new AuthorizeRequest (idToken );
6585 }
6686
87+ /**
88+ * Create a client {@link BootNotificationRequest} with required values.
89+ *
90+ * @param vendor required. Vendor name.
91+ * @param model required. Charge box model.
92+ * @return an instance of {@link BootNotificationRequest}
93+ * @see BootNotificationRequest
94+ * @see BootNotificationFeature
95+ */
6796 public BootNotificationRequest createBootNotificationRequest (String vendor , String model ) {
6897 return new BootNotificationRequest (vendor , model );
6998 }
7099
100+ /**
101+ * Create a client {@link DataTransferRequest} with required values.
102+ *
103+ * @param vendorId required. Vendor identification.
104+ * @return an instance of {@link DataTransferRequest}.
105+ * @see DataTransferRequest
106+ * @see DataTransferFeature
107+ */
71108 public DataTransferRequest createDataTransferRequest (String vendorId ) {
72109 return new DataTransferRequest (vendorId );
73110 }
74111
112+ /**
113+ * Create a client {@link HeartbeatRequest}.
114+ *
115+ * @return an instance of {@link HeartbeatRequest}
116+ * @see HeartbeatRequest
117+ * @see HeartbeatFeature
118+ */
75119 public HeartbeatRequest createHeartbeatRequest () {
76120 return new HeartbeatRequest ();
77121 }
78122
123+ /**
124+ * Create a client {@link MeterValuesRequest} with one {@link SampledValue} and one {@link MeterValue}
125+ *
126+ * @param connectorId required. Identification of connector.
127+ * @param timestamp required. Time of sample.
128+ * @param value required. Value of sample.
129+ * @return an instance of {@link MeterValuesRequest}.
130+ * @throws PropertyConstraintException thrown if a required field isn't filled out correctly.
131+ * @see MeterValuesRequest
132+ * @see MeterValuesFeature
133+ */
79134 public MeterValuesRequest createMeterValuesRequest (Integer connectorId , Calendar timestamp , String value ) throws PropertyConstraintException {
80135 SampledValue sampledValue = new SampledValue ();
81136 sampledValue .setValue (value );
82137 return createMeterValuesRequest (connectorId , timestamp , sampledValue );
83138 }
84139
140+ /**
141+ * Create a client {@link MeterValuesRequest} with some {@link SampledValue}s and one {@link MeterValue}.
142+ *
143+ * @param connectorId required. Identification of connector.
144+ * @param timestamp required. Time of sample.
145+ * @param sampledValues required. Params list of {@link SampledValue}s
146+ * @return an instance of {@link MeterValuesRequest}
147+ * @throws PropertyConstraintException thrown if a required field isn't filled out correctly.
148+ * @see MeterValuesRequest
149+ * @see MeterValuesFeature
150+ */
85151 public MeterValuesRequest createMeterValuesRequest (Integer connectorId , Calendar timestamp , SampledValue ... sampledValues ) throws PropertyConstraintException {
86152 MeterValue meterValue = new MeterValue ();
87153 meterValue .setTimestamp (timestamp );
88154 meterValue .setSampledValue (sampledValues );
89155 return createMeterValuesRequest (connectorId , meterValue );
90156 }
91157
158+ /**
159+ * Create a client {@link MeterValuesRequest} with some {@link MeterValue}s.
160+ *
161+ * @param connectorId required. Identification of connector.
162+ * @param meterValues required. Params list of {@link MeterValue}s
163+ * @return an instance of {@link MeterValuesRequest}
164+ * @throws PropertyConstraintException thrown if a required field isn't filled out correctly.
165+ * @see MeterValuesRequest
166+ * @see MeterValuesFeature
167+ */
92168 public MeterValuesRequest createMeterValuesRequest (Integer connectorId , MeterValue ... meterValues ) throws PropertyConstraintException {
93169 MeterValuesRequest request = new MeterValuesRequest ();
94170 request .setConnectorId (connectorId );
95171 request .setMeterValue (meterValues );
96172 return request ;
97173 }
98174
175+ /**
176+ * Create a client {@link StartTransactionRequest} with required values.
177+ *
178+ * @param connectorId required. Identification of the connector.
179+ * @param idTag required. Authorization identification tag.
180+ * @param meterStart required. The initial value of the meter.
181+ * @param timestamp required. Time of start.
182+ * @return an instance of {@link StartTransactionRequest}.
183+ * @throws PropertyConstraintException thrown if a required field isn't filled out correctly.
184+ * @see StartTransactionRequest
185+ * @see StartTransactionFeature
186+ */
99187 public StartTransactionRequest createStartTransactionRequest (Integer connectorId , String idTag , Integer meterStart , Calendar timestamp ) throws PropertyConstraintException {
100188 StartTransactionRequest request = new StartTransactionRequest ();
101189 request .setConnectorId (connectorId );
@@ -107,6 +195,17 @@ public StartTransactionRequest createStartTransactionRequest(Integer connectorId
107195 return request ;
108196 }
109197
198+ /**
199+ * Create a client {@link StatusNotificationRequest} with required values.
200+ *
201+ * @param connectorId required. Identification of the connector.
202+ * @param errorCode required. {@link ChargePointErrorCode} of the connector.
203+ * @param status required. {@link ChargePointStatus} of the connector.
204+ * @return an instance of {@link StatusNotificationRequest}.
205+ * @throws PropertyConstraintException thrown if a required field isn't filled out correctly.
206+ * @see StatusNotificationRequest
207+ * @see StatusNotificationFeature
208+ */
110209 public StatusNotificationRequest createStatusNotificationRequest (Integer connectorId , ChargePointErrorCode errorCode , ChargePointStatus status ) throws PropertyConstraintException {
111210 StatusNotificationRequest request = new StatusNotificationRequest ();
112211 request .setConnectorId (connectorId );
@@ -115,6 +214,14 @@ public StatusNotificationRequest createStatusNotificationRequest(Integer connect
115214 return request ;
116215 }
117216
217+ /**
218+ * Create a client {@link StopTransactionRequest} with required values.
219+ *
220+ * @param meterStop required. The final value of the meter.
221+ * @param timestamp required. Time of stop.
222+ * @param transactionId required. The identification of the transaction.
223+ * @return an instance of {@link StopTransactionRequest}.
224+ */
118225 public StopTransactionRequest createStopTransactionRequest (int meterStop , Calendar timestamp , int transactionId ) {
119226 StopTransactionRequest request = new StopTransactionRequest ();
120227 request .setMeterStop (meterStop );
0 commit comments