001: /***************************************************************
002: * This file is part of the [fleXive](R) project.
003: *
004: * Copyright (c) 1999-2008
005: * UCS - unique computing solutions gmbh (http://www.ucs.at)
006: * All rights reserved
007: *
008: * The [fleXive](R) project is free software; you can redistribute
009: * it and/or modify it under the terms of the GNU General Public
010: * License as published by the Free Software Foundation;
011: * either version 2 of the License, or (at your option) any
012: * later version.
013: *
014: * The GNU General Public License can be found at
015: * http://www.gnu.org/copyleft/gpl.html.
016: * A copy is found in the textfile GPL.txt and important notices to the
017: * license from the author are found in LICENSE.txt distributed with
018: * these libraries.
019: *
020: * This library is distributed in the hope that it will be useful,
021: * but WITHOUT ANY WARRANTY; without even the implied warranty of
022: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
023: * GNU General Public License for more details.
024: *
025: * For further information about UCS - unique computing solutions gmbh,
026: * please see the company website: http://www.ucs.at
027: *
028: * For further information about [fleXive](R), please see the
029: * project website: http://www.flexive.org
030: *
031: *
032: * This copyright notice MUST APPEAR in all copies of the file!
033: ***************************************************************/package com.flexive.shared.tree;
034:
035: import com.flexive.shared.AbstractSelectableObjectWithName;
036: import com.flexive.shared.FxContext;
037: import com.flexive.shared.interfaces.TemplateEngine;
038:
039: import java.io.Serializable;
040:
041: /**
042: * Information about a template
043: *
044: * @author Gregor Schober (gregor.schober@flexive.com), UCS - unique computing solutions gmbh (http://www.ucs.at)
045: */
046: public class FxTemplateInfo extends AbstractSelectableObjectWithName
047: implements Serializable {
048: private static final long serialVersionUID = -7704618161235339482L;
049:
050: private String contentType;
051: private long modifiedAt;
052: private long modifiedBy;
053: private long id;
054: private String name;
055: private long typeId;
056: private long contentId = -1;
057: private Long masterTemplate;
058: private long masterTemplateModifiedAt;
059: private TemplateEngine.Type templateType;
060: private long parentNode;
061: private long tdef;
062: private boolean isLive;
063: private boolean hasLiveVersion;
064: private boolean inSync;
065:
066: public FxTemplateInfo(TemplateEngine.Type templateType,
067: boolean isLive, boolean hasLiveVersion, boolean isInSync) {
068: this .id = -1;
069: this .contentType = "";
070: this .name = "NEW_" + System.currentTimeMillis();
071: this .modifiedAt = System.currentTimeMillis();
072: this .modifiedBy = FxContext.get().getTicket().getUserId();
073: this .templateType = templateType;
074: this .masterTemplate = null;
075: this .parentNode = -1;
076: this .masterTemplateModifiedAt = -1;
077: this .typeId = -1;
078: this .isLive = isLive;
079: this .hasLiveVersion = hasLiveVersion;
080: this .inSync = isInSync;
081: }
082:
083: public FxTemplateInfo(long id, int typeId, String name,
084: String type, long modifiedAt, long modifiedBy,
085: long contentId, TemplateEngine.Type templateType,
086: Long masterTemplate, long masterTemplateModifiedAt,
087: boolean isLive, boolean hasLiveVersion, boolean isInSync) {
088: this .contentType = type;
089: this .id = id;
090: this .name = name;
091: this .typeId = typeId;
092: this .modifiedAt = modifiedAt;
093: this .modifiedBy = modifiedBy;
094: this .contentId = contentId;
095: this .isLive = isLive;
096: this .templateType = templateType;
097: this .masterTemplateModifiedAt = masterTemplateModifiedAt;
098: this .masterTemplate = masterTemplate;
099: this .parentNode = -1;
100: this .hasLiveVersion = hasLiveVersion;
101: this .inSync = isInSync;
102: }
103:
104: /**
105: * @return true when the live and edit version of the template are ident.
106: */
107: public boolean getIsInSync() {
108: return inSync;
109: }
110:
111: /**
112: * @return true if this template has an live version
113: */
114: public boolean isHasLiveVersion() {
115: return hasLiveVersion;
116: }
117:
118: public boolean getIsLive() {
119: return isLive;
120: }
121:
122: public long getParentNode() {
123: return parentNode;
124: }
125:
126: public void setParentNode(long parentNode) {
127: this .parentNode = parentNode;
128: }
129:
130: public long getMasterTemplateModifiedAt() {
131: return masterTemplateModifiedAt;
132: }
133:
134: public long getTdef() {
135: return tdef;
136: }
137:
138: public void setTdef(long tdef) {
139: this .tdef = tdef;
140: }
141:
142: public Long getMasterTemplate() {
143: return masterTemplate;
144: }
145:
146: public boolean hasMasterTemplate() {
147: return masterTemplate != null && masterTemplate > 0;
148: }
149:
150: public long getTypeId() {
151: return typeId;
152: }
153:
154: public TemplateEngine.Type getTemplateType() {
155: return templateType;
156: }
157:
158: /**
159: * Only set if the template info was looked up by a tree request.
160: *
161: * @return -1, or a content id
162: */
163: public long getContentId() {
164: return contentId;
165: }
166:
167: /**
168: * Sets the content id.
169: *
170: * @param contentId the content id.
171: */
172: public void setContentId(long contentId) {
173: this .contentId = contentId;
174: }
175:
176: public String getName() {
177: return name;
178: }
179:
180: /**
181: * Returns the content type id of the node.
182: *
183: * @return the content type id of the node.
184: */
185: public String getContentType() {
186: return contentType;
187: }
188:
189: public long getId() {
190: return id;
191: }
192:
193: public void setContentType(String type) {
194: this .contentType = type;
195: }
196:
197: public long getModifiedAt() {
198: return modifiedAt;
199: }
200:
201: public long getModifiedBy() {
202: return modifiedBy;
203: }
204:
205: public void setId(long id) {
206: this .id = id;
207: }
208:
209: public void setName(String name) {
210: this.name = name;
211: }
212:
213: }
|