package io.evercam;
public class PatchCameraBuilder {
final String id;
Boolean isPublic;
Boolean isOnline;
String name;
String vendor;
String model;
String timezone;
String macAddress;
String jpgUrl;
String h264Url;
String mjpgUrl;
String mpegUrl;
String audioUrl;
String internalHost;
Integer internalHttpPort = 0;
Integer internalRtspPort = 0;
String externalHost;
Integer externalHttpPort = 0;
Integer externalRtspPort = 0;
String cameraUsername;
String cameraPassword;
String locationLng;
String locationLat;
Boolean isDiscoverable;
public PatchCameraBuilder(String cameraId) {
if (cameraId != null) {
id = cameraId;
} else {
throw new NullPointerException("camera id can not be null");
}
}
public PatchCameraBuilder setName(String cameraName) {
name = cameraName;
return this;
}
public PatchCameraBuilder setPublic(Boolean isPublic) {
this.isPublic = isPublic;
return this;
}
public PatchCameraBuilder setOnline(Boolean isOnline) {
this.isOnline = isOnline;
return this;
}
/**
* @param lat GPS latitude coordinate of the camera,
* @param lng GPS longitude coordinate of the camera
*/
public PatchCameraBuilder setLocation(String lat, String lng) {
this.locationLat = lat;
this.locationLng = lng;
return this;
}
public PatchCameraBuilder setJpgUrl(String jpgUrl) {
this.jpgUrl = jpgUrl;
return this;
}
public PatchCameraBuilder setH264Url(String h264Url) {
this.h264Url = h264Url;
return this;
}
public PatchCameraBuilder setMjpgUrl(String mjpgUrl) {
this.mjpgUrl = mjpgUrl;
return this;
}
public PatchCameraBuilder setMpegUrl(String mpegUrl) {
this.mpegUrl = mpegUrl;
return this;
}
public PatchCameraBuilder setAudioUrl(String audioUrl) {
this.audioUrl = audioUrl;
return this;
}
public PatchCameraBuilder setInternalHost(String internalHost) {
this.internalHost = internalHost;
return this;
}
public PatchCameraBuilder setInternalHttpPort(Integer internalHttpPort) {
this.internalHttpPort = internalHttpPort;
return this;
}
public PatchCameraBuilder setInternalRtspPort(Integer internalRtspPort) {
this.internalRtspPort = internalRtspPort;
return this;
}
public PatchCameraBuilder setExternalHost(String externalHost) {
this.externalHost = externalHost;
return this;
}
public PatchCameraBuilder setExternalHttpPort(Integer externalHttpPort) {
this.externalHttpPort = externalHttpPort;
return this;
}
public PatchCameraBuilder setExternalRtspPort(Integer externalRtspPort) {
this.externalRtspPort = externalRtspPort;
return this;
}
public PatchCameraBuilder setCameraUsername(String cameraUsername) {
this.cameraUsername = cameraUsername;
return this;
}
public PatchCameraBuilder setCameraPassword(String cameraPassword) {
this.cameraPassword = cameraPassword;
return this;
}
public PatchCameraBuilder setVendor(String vendor) {
this.vendor = vendor;
return this;
}
public PatchCameraBuilder setModel(String model) {
this.model = model;
return this;
}
public PatchCameraBuilder setTimeZone(String timezone) {
this.timezone = timezone;
return this;
}
public PatchCameraBuilder setMacAddress(String macAddress) {
this.macAddress = macAddress;
return this;
}
public PatchCameraBuilder setDiscoverable(Boolean isDiscoverable) {
this.isDiscoverable = isDiscoverable;
return this;
}
public CameraDetail build() {
return new CameraDetail(this);
}
}