001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. The ASF licenses this file to You
004: * under the Apache License, Version 2.0 (the "License"); you may not
005: * use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License. For additional information regarding
015: * copyright in this work, please see the NOTICE file in the top level
016: * directory of this distribution.
017: */
018:
019: package org.apache.roller.pojos;
020:
021: import java.util.Date;
022:
023: /**
024: * The Template interface represents the abstract concept of a single unit
025: * of templated or non-rendered content. For Roller we mainly think of
026: * templates as Velocity templates which are meant to be fed into the
027: * Velocity rendering engine.
028: */
029: public interface Template {
030:
031: /**
032: * The unique identifier for this Template.
033: *
034: * @roller.wrapPojoMethod type="simple"
035: */
036: public String getId();
037:
038: /**
039: * A simple name for this Template.
040: *
041: * @roller.wrapPojoMethod type="simple"
042: */
043: public String getName();
044:
045: /**
046: * A description of the contents of this Template.
047: *
048: * @roller.wrapPojoMethod type="simple"
049: */
050: public String getDescription();
051:
052: /**
053: * The contents or body of the Template.
054: *
055: * @roller.wrapPojoMethod type="simple"
056: */
057: public String getContents();
058:
059: /**
060: * The url link value for this Template. If this template is not
061: * private this is the url that it can be accessed at.
062: *
063: * @roller.wrapPojoMethod type="simple"
064: */
065: public String getLink();
066:
067: /**
068: * The last time the template was modified.
069: *
070: * @roller.wrapPojoMethod type="simple"
071: */
072: public Date getLastModified();
073:
074: /**
075: * Is the Template hidden? A hidden template cannot be accessed directly.
076: *
077: * @roller.wrapPojoMethod type="simple"
078: */
079:
080: public boolean isHidden();
081:
082: /**
083: * Is the Template to be included in the navbar?
084: *
085: * @roller.wrapPojoMethod type="simple"
086: */
087: public boolean isNavbar();
088:
089: /**
090: * The templating language used by this template.
091: */
092: public String getTemplateLanguage();
093:
094: /**
095: * The decorator Template to apply. This returns null if no decorator
096: * should be applied.
097: */
098: public Template getDecorator();
099:
100: }
|