package com.psddev.cms.db; import com.psddev.dari.util.HtmlWriter; import java.io.IOException; import java.util.Map; /** * @deprecated No direct replacement but {@link Renderer.LayoutPath} and * {@link Renderer.ListLayouts} provide similar functionality. */ @Deprecated public abstract class Section extends Content { @InternalName("name") private String displayName; @Indexed(unique = true) private String internalName; @Indexed @InternalName("isShareable") private boolean shareable; private long cacheDuration; /** Returns the display name. */ public String getDisplayName() { return displayName; } /** Sets the display name. */ public void setDisplayName(String displayName) { this.displayName = displayName; } /** Returns the internal name. */ public String getInternalName() { return internalName; } /** Sets the internal name. */ public void setInternalName(String internalName) { this.internalName = internalName; } /** * Returns {@code true} if this section is shareable across multiple * pages. */ public boolean isShareable() { return shareable; } /** Sets whether this section is shareable across multiple pages. */ public void setShareable(boolean shareable) { this.shareable = shareable; } public long getCacheDuration() { return cacheDuration; } public void setCacheDuration(long cacheDuration) { this.cacheDuration = cacheDuration; } public Map<String, Object> toDefinition() { Map<String, Object> definition = getState().getSimpleValues(); definition.put("_type", getClass().getName()); return definition; } public void writeLayoutPreview(HtmlWriter writer) throws IOException { } // --- Deprecated --- /** @deprecated No replacement. */ @Deprecated @ToolUi.Hidden private boolean isCacheable; /** @deprecated Use {@link #getDisplayName} instead. */ @Deprecated public String getName() { return getDisplayName(); } /** @deprecated Use {@link #setDisplayName} instead. */ @Deprecated public void setName(String name) { setDisplayName(name); } }