com.geotab.model.entity.group.SystemSecurityClearance Maven / Gradle / Ivy
package com.geotab.model.entity.group;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty.Access;
import com.geotab.model.SecurityFilter;
import com.geotab.model.drawing.Color;
import java.util.List;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* The base class for {@link SecurityClearance}(s) that are system entities.
*/
@NoArgsConstructor
@Getter
@Setter
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public abstract class SystemSecurityClearance extends SecurityClearance {
@JsonProperty(access = Access.WRITE_ONLY)
public String getName() {
return super.getName();
}
public SystemSecurityClearance(String id, String name, Color color,
Group parent, List children, String comments, String reference,
List securityFilters) {
super(id, name, color, parent, children, comments, reference, securityFilters);
}
protected SystemSecurityClearance(String id, String name) {
super(id, name);
}
@Override
public Color getColor() {
return Color.EMPTY;
}
/**
* Returns if the class is a system entity.
*
* @return Returns true if the class is a system entity, false otherwise.
*/
@JsonIgnore
@Override
public boolean isSystemEntity() {
return true;
}
}