package com.revolsys.record.io.format.esri.rest.map;
import java.util.Collections;
import java.util.List;
import com.revolsys.collection.map.MapEx;
import com.revolsys.record.io.format.esri.rest.ArcGisResponse;
import com.revolsys.record.io.format.esri.rest.CatalogElement;
public class LayerDescription extends ArcGisResponse<LayerDescription> {
private int id = -1;
private int maxRecordCount = 1000;
private long maxScale = 0;
private long minScale = Long.MAX_VALUE;
private boolean defaultVisibility = true;
private int parentLayerId = -1;
private ArcGisRestAbstractLayerService service;
public LayerDescription() {
}
public LayerDescription(final ArcGisRestAbstractLayerService service,
final CatalogElement parent) {
super(service);
this.service = service;
}
public LayerDescription(final ArcGisRestAbstractLayerService service, final CatalogElement parent,
final MapEx properties) {
this(service, parent);
initialize(properties);
}
@Override
public List<LayerDescription> getChildren() {
return Collections.emptyList();
}
public boolean getDefaultVisibility() {
return this.defaultVisibility;
}
@Override
public String getIconName() {
return "file";
}
public int getId() {
return this.id;
}
public int getMaxRecordCount() {
return this.maxRecordCount;
}
public long getMaxScale() {
return this.maxScale;
}
public long getMinScale() {
return this.minScale;
}
public int getParentLayerId() {
return this.parentLayerId;
}
public ArcGisRestAbstractLayerService getService() {
return this.service;
}
@Override
public String getWebServiceTypeName() {
return null;
}
@Override
protected void initialize(final MapEx properties) {
super.initialize(properties);
setInitialized(true);
}
public void setDefaultVisibility(final boolean defaultVisibility) {
this.defaultVisibility = defaultVisibility;
}
public void setId(final int id) {
this.id = id;
setServiceUrl(getService().getServiceUrl(Integer.toString(this.id)));
}
public void setMaxRecordCount(final int maxRecordCount) {
this.maxRecordCount = maxRecordCount;
}
public void setMaxScale(final long maxScale) {
if (maxScale < 0) {
this.maxScale = 0;
} else {
this.maxScale = maxScale;
}
}
public void setMinScale(final long minScale) {
if (minScale > 0) {
this.minScale = minScale;
} else {
this.minScale = Long.MAX_VALUE;
}
}
public void setParentLayerId(final int parentLayerId) {
this.parentLayerId = parentLayerId;
}
@Override
public String toString() {
return getName();
}
}