package com.psddev.cms.tool;
import com.google.common.base.Preconditions;
import com.psddev.cms.db.ContentTemplate;
import com.psddev.cms.db.Localization;
import com.psddev.dari.db.ObjectType;
import java.util.UUID;
public class ObjectTypeOrContentTemplate implements Comparable<ObjectTypeOrContentTemplate> {
private final ObjectType type;
private final ContentTemplate template;
public ObjectTypeOrContentTemplate(ObjectType type) {
Preconditions.checkNotNull(type);
this.type = type;
this.template = null;
}
public ObjectTypeOrContentTemplate(ContentTemplate template) {
Preconditions.checkNotNull(template);
this.type = template.getTemplateType();
this.template = template;
}
public ObjectType getType() {
return type;
}
public ContentTemplate getTemplate() {
return template;
}
public UUID getId() {
return template != null ? template.getId() : type.getId();
}
public String getLabel() {
return template != null
? template.getName()
: Localization.currentUserText(type, "displayName");
}
@Override
public int compareTo(ObjectTypeOrContentTemplate other) {
return getLabel().compareTo(other.getLabel());
}
}