/**
* Copyright (c) 2014-2017 by the respective copyright holders.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.eclipse.smarthome.binding.hue.internal;
import java.util.List;
/**
*
* @author Q42, standalone Jue library (https://github.com/Q42/Jue)
* @author Denis Dudnik - moved Jue library source code inside the smarthome Hue binding
*/
@SuppressWarnings("unused")
class SetAttributesRequest {
private String name;
private List<String> lights;
public SetAttributesRequest(String name) {
this(name, null);
}
public SetAttributesRequest(List<Light> lights) {
this(null, lights);
}
public SetAttributesRequest(String name, List<Light> lights) {
if (name != null && Util.stringSize(name) > 32) {
throw new IllegalArgumentException("Name can be at most 32 characters long");
} else if (lights != null && (lights.size() == 0 || lights.size() > 16)) {
throw new IllegalArgumentException("Group cannot be empty and cannot have more than 16 lights");
}
this.name = name;
if (lights != null) {
this.lights = Util.lightsToIds(lights);
}
}
}