/*
 * ###
 * Phresco Commons
 * 
 * Copyright (C) 1999 - 2012 Photon Infotech Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ###
 */
package com.photon.phresco.model;

import java.io.Serializable;
import java.util.List;

import javax.xml.bind.annotation.XmlRootElement;

@SuppressWarnings("restriction")
@XmlRootElement
public class PropertyTemplate implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private String id;
	private String key;
	private I18NString name;
	private I18NString description;
	private String type;
	private boolean isRequired;
	private List<String> possibleValues;
	private List<PropertyTemplate> propertyTemplates;
	
	public PropertyTemplate() {
		super();
	}

	public PropertyTemplate(String key, String type) {
		super();
		this.key = key;
		this.type = type;
	}

	public PropertyTemplate(String key, String type, boolean projectSpecific,
			boolean isRequired) {
		super();
		this.key = key;
		this.type = type;
		this.isRequired = isRequired;
	}
	
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getKey() {
		return key;
	}

	public void setKey(String key) {
		this.key = key;
	}

	public I18NString getName() {
		return name;
	}

	public void setName(I18NString name) {
		this.name = name;
	}

	public I18NString getDescription() {
		return description;
	}

	public void setDescription(I18NString description) {
		this.description = description;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public boolean isRequired() {
		return isRequired;
	}

	public void setRequired(boolean isRequired) {
		this.isRequired = isRequired;
	}

	public List<String> getPossibleValues() {
		return possibleValues;
	}

	public void setPossibleValues(List<String> possibleValues) {
		this.possibleValues = possibleValues;
	}

	public List<PropertyTemplate> getPropertyTemplates() {
		return propertyTemplates;
	}

	public void setPropertyTemplates(List<PropertyTemplate> propertyTemplates) {
		this.propertyTemplates = propertyTemplates;
	}
}
@@ -1067,16 +1067,42 @@
 g type;%0A
+%09private String helpText;%0A
 %09private
@@ -1106,27 +1106,25 @@
 ate boolean 
-isR
+r
 equired;%0A%09pr
@@ -1120,16 +1120,43 @@
 quired;%0A
+%09private boolean multiple;%0A
 %09private
@@ -1465,35 +1465,33 @@
 fic,%0A%09%09%09boolean 
-isR
+r
 equired) %7B%0A%09%09sup
@@ -1533,35 +1533,33 @@
  = type;%0A%09%09this.
-isR
+r
 equired = isRequ
@@ -1544,35 +1544,33 @@
 this.required = 
-isR
+r
 equired;%0A%09%7D%0A%09%0A%09p
@@ -2141,147 +2141,8 @@
 %09%7D%0A%0A
-%09public boolean isRequired() %7B%0A%09%09return isRequired;%0A%09%7D%0A%0A%09public void setRequired(boolean isRequired) %7B%0A%09%09this.isRequired = isRequired;%0A%09%7D%0A%0A
 %09pub
@@ -2477,24 +2477,24 @@
 emplates) %7B%0A
-
 %09%09this.prope
@@ -2530,9 +2530,765 @@
 tes;%0A%09%7D%0A
+%09%0A%09public String getHelpText() %7B%0A%09%09return helpText;%0A%09%7D%0A%0A%09public void setHelpText(String helpText) %7B%0A%09%09this.helpText = helpText;%0A%09%7D%0A%09%0A%09public boolean isRequired() %7B%0A%09%09return required;%0A%09%7D%0A%0A%09public void setRequired(boolean required) %7B%0A%09%09this.required = required;%0A%09%7D%0A%0A%09public boolean isMultiple() %7B%0A%09%09return multiple;%0A%09%7D%0A%0A%09public void setMultiple(boolean multiple) %7B%0A%09%09this.multiple = multiple;%0A%09%7D%0A%09%0A%09@Override%0A%09public String toString() %7B%0A%09%09return %22PropertyTemplate %5Bid=%22 + id + %22, key=%22 + key + %22, name=%22 + name%0A%09%09%09%09+ %22, description=%22 + description + %22, type=%22 + type%0A%09%09%09%09+ %22, helpText=%22 + helpText + %22, required=%22 + required%0A%09%09%09%09+ %22, multiple=%22 + multiple + %22, possibleValues=%22%0A%09%09%09%09+ possibleValues + %22, propertyTemplates=%22 + propertyTemplates%0A%09%09%09%09+ %22%5D%22;%0A%09%7D%0A
 %7D

add property templates