Skip to content

Package: DeviceManagementOperationCreator

DeviceManagementOperationCreator

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2018, 2022 Eurotech and/or its affiliates and others
3: *
4: * This program and the accompanying materials are made
5: * available under the terms of the Eclipse Public License 2.0
6: * which is available at https://www.eclipse.org/legal/epl-2.0/
7: *
8: * SPDX-License-Identifier: EPL-2.0
9: *
10: * Contributors:
11: * Eurotech - initial API and implementation
12: *******************************************************************************/
13: package org.eclipse.kapua.service.device.management.registry.operation;
14:
15: import org.eclipse.kapua.model.KapuaEntityCreator;
16: import org.eclipse.kapua.model.id.KapuaId;
17: import org.eclipse.kapua.model.id.KapuaIdAdapter;
18: import org.eclipse.kapua.model.xml.DateXmlAdapter;
19: import org.eclipse.kapua.service.device.management.message.KapuaMethod;
20: import org.eclipse.kapua.service.device.management.message.notification.NotifyStatus;
21:
22: import javax.xml.bind.annotation.XmlAccessType;
23: import javax.xml.bind.annotation.XmlAccessorType;
24: import javax.xml.bind.annotation.XmlElement;
25: import javax.xml.bind.annotation.XmlElementWrapper;
26: import javax.xml.bind.annotation.XmlRootElement;
27: import javax.xml.bind.annotation.XmlType;
28: import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
29: import java.util.Date;
30: import java.util.List;
31:
32: @XmlRootElement(name = "deviceManagementOperationCreator")
33: @XmlAccessorType(XmlAccessType.PROPERTY)
34: @XmlType(factoryClass = DeviceManagementOperationXmlRegistry.class, factoryMethod = "newDeviceManagementOperationCreator")
35: public interface DeviceManagementOperationCreator extends KapuaEntityCreator<DeviceManagementOperation> {
36:
37: @XmlElement(name = "startedOn")
38: @XmlJavaTypeAdapter(DateXmlAdapter.class)
39: public Date getStartedOn();
40:
41: void setStartedOn(Date startedOn);
42:
43: @XmlElement(name = "deviceId")
44: @XmlJavaTypeAdapter(KapuaIdAdapter.class)
45: KapuaId getDeviceId();
46:
47: void setDeviceId(KapuaId deviceId);
48:
49:
50: @XmlElement(name = "operationId")
51: @XmlJavaTypeAdapter(KapuaIdAdapter.class)
52: KapuaId getOperationId();
53:
54: void setOperationId(KapuaId operationId);
55:
56:
57: @XmlElement(name = "appId")
58: String getAppId();
59:
60: void setAppId(String appId);
61:
62: @XmlElement(name = "action")
63: KapuaMethod getAction();
64:
65: void setAction(KapuaMethod action);
66:
67: @XmlElement(name = "resource")
68: String getResource();
69:
70: void setResource(String resource);
71:
72: @XmlElement(name = "status")
73: NotifyStatus getStatus();
74:
75: void setStatus(NotifyStatus status);
76:
77: @XmlElementWrapper(name = "operationProperties")
78: @XmlElement(name = "operationProperty")
79: <P extends DeviceManagementOperationProperty> List<P> getInputProperties();
80:
81: void setInputProperties(List<DeviceManagementOperationProperty> inputProperties);
82: }