// Path: src/java/com/idega/documentmanager/business/component/Page.java
// public interface Page extends Container {
// 
// 	public abstract PropertiesPage getProperties();
// 	
// 	public abstract ButtonArea getButtonArea();
// 	
// 	public abstract ButtonArea createButtonArea(String component_after_this_id) throws NullPointerException;
// }
// 
// Path: src/java/com/idega/documentmanager/business/component/PageThankYou.java
// public interface PageThankYou extends Page {
// 
// 	public abstract PropertiesThankYouPage getProperties();
// }
// 
// Path: src/java/com/idega/documentmanager/business/component/properties/PropertiesDocument.java
// public interface PropertiesDocument extends PropertiesComponent {
// 	
// 	public abstract boolean isStepsVisualizationUsed();
// 	public abstract void setStepsVisualizationUsed(boolean steps_visualization_used);
// 	
// 	public abstract void setSubmissionAction(String submissionAction);
// 	public abstract String getSubmissionAction();
// }
// 
// Path: src/java/com/idega/documentmanager/component/beans/LocalizedStringBean.java
// public class LocalizedStringBean {
// 	
// 	private Map<Locale, String> strings;
// 	
// 	public LocalizedStringBean() {
// 		strings = new HashMap<Locale, String>();
// 	}
// 	
// 	public LocalizedStringBean(String defaultString) {
// 		strings = new HashMap<Locale, String>();
// 		setString(new Locale("en"), defaultString);
// 	}
// 	
// 	public Set<Locale> getLanguagesKeySet() {
// 		return strings.keySet();
// 	}
// 	
// 	/**
// 	 * if You don't want to change the text, provide text value as null
// 	 * 
// 	 * @param locale
// 	 * @param text
// 	 */
// 	public void setString(Locale locale, String text) {
// 		
// 		if(locale == null)
// 			throw new NullPointerException("Locale is not provided");
// 		
// 		strings.put(locale, text);
// 	}
// 	
// 	public String getString(Locale locale) {
// 		return strings.get(locale);
// 	}
// 	
// 	public void removeString(Locale locale) {
// 		strings.remove(locale);
// 	}
// 	
// 	public void clear() {
// 		strings.clear();
// 	}
// 	public String toString() {
// 		
// 		StringBuffer toString = new StringBuffer("LocalizedStringBean:");
// 		
// 		
// 		for (Iterator<Locale> iter = strings.keySet().iterator(); iter.hasNext();) {
// 			Locale locale = iter.next();
// 			
// 			toString.append("\nlocale: ")
// 			.append(locale.toString())
// 			.append(" value: ")
// 			.append(strings.get(locale));
// 		}
// 		
// 		return toString.toString();
// 	}
// }


import java.util.Locale;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import com.idega.documentmanager.business.component.Page;
import com.idega.documentmanager.business.component.PageThankYou;
import com.idega.documentmanager.business.component.properties.PropertiesDocument;
import com.idega.documentmanager.component.beans.LocalizedStringBean;
package com.idega.documentmanager.component;




/**
 * @author <a href="mailto:civilis@idega.com">Vytautas Čivilis</a>
 * @version $Revision: 1.10 $
 *
 * Last modified: $Date: 2008/10/26 16:47:10 $ by $Author: anton $
 */
public interface FormDocument extends FormComponentContainer {

	public abstract void setFormDocumentModified(boolean changed);
	
	public abstract boolean isFormDocumentModified();
	
	public abstract Document getComponentsXml(FormComponent component, Locale locale);
	
	public abstract Long getFormId();
	
	public abstract Locale getDefaultLocale();
	
	public abstract Page getConfirmationPage();
	
	public abstract PageThankYou getThxPage();
	
	public abstract void registerForLastPage(String register_page_id);
	
	public abstract String generateNewComponentId();
	
	public abstract Element getAutofillModelElement();
	
	public abstract Element getFormDataModelElement();
	
	public abstract Element getFormMainDataInstanceElement();
	
	public abstract Element getSubmissionElement();
	
	public abstract Element getSectionsVisualizationInstanceElement();
	
	public abstract PropertiesDocument getProperties();
	
	public abstract String getFormType();
	
// Path: src/java/com/idega/documentmanager/business/component/Page.java
// public interface Page extends Container {
// 
// 	public abstract PropertiesPage getProperties();
// 	
// 	public abstract ButtonArea getButtonArea();
// 	
// 	public abstract ButtonArea createButtonArea(String component_after_this_id) throws NullPointerException;
// }
// 
// Path: src/java/com/idega/documentmanager/business/component/PageThankYou.java
// public interface PageThankYou extends Page {
// 
// 	public abstract PropertiesThankYouPage getProperties();
// }
// 
// Path: src/java/com/idega/documentmanager/business/component/properties/PropertiesDocument.java
// public interface PropertiesDocument extends PropertiesComponent {
// 	
// 	public abstract boolean isStepsVisualizationUsed();
// 	public abstract void setStepsVisualizationUsed(boolean steps_visualization_used);
// 	
// 	public abstract void setSubmissionAction(String submissionAction);
// 	public abstract String getSubmissionAction();
// }
// 
// Path: src/java/com/idega/documentmanager/component/beans/LocalizedStringBean.java
// public class LocalizedStringBean {
// 	
// 	private Map<Locale, String> strings;
// 	
// 	public LocalizedStringBean() {
// 		strings = new HashMap<Locale, String>();
// 	}
// 	
// 	public LocalizedStringBean(String defaultString) {
// 		strings = new HashMap<Locale, String>();
// 		setString(new Locale("en"), defaultString);
// 	}
// 	
// 	public Set<Locale> getLanguagesKeySet() {
// 		return strings.keySet();
// 	}
// 	
// 	/**
// 	 * if You don't want to change the text, provide text value as null
// 	 * 
// 	 * @param locale
// 	 * @param text
// 	 */
// 	public void setString(Locale locale, String text) {
// 		
// 		if(locale == null)
// 			throw new NullPointerException("Locale is not provided");
// 		
// 		strings.put(locale, text);
// 	}
// 	
// 	public String getString(Locale locale) {
// 		return strings.get(locale);
// 	}
// 	
// 	public void removeString(Locale locale) {
// 		strings.remove(locale);
// 	}
// 	
// 	public void clear() {
// 		strings.clear();
// 	}
// 	public String toString() {
// 		
// 		StringBuffer toString = new StringBuffer("LocalizedStringBean:");
// 		
// 		
// 		for (Iterator<Locale> iter = strings.keySet().iterator(); iter.hasNext();) {
// 			Locale locale = iter.next();
// 			
// 			toString.append("\nlocale: ")
// 			.append(locale.toString())
// 			.append(" value: ")
// 			.append(strings.get(locale));
// 		}
// 		
// 		return toString.toString();
// 	}
// }


// Path: src/java/com/idega/documentmanager/component/FormDocument.java
import java.util.Locale;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import com.idega.documentmanager.business.component.Page;
import com.idega.documentmanager.business.component.PageThankYou;
import com.idega.documentmanager.business.component.properties.PropertiesDocument;
import com.idega.documentmanager.component.beans.LocalizedStringBean;

package com.idega.documentmanager.component;




/**
 * @author <a href="mailto:civilis@idega.com">Vytautas Čivilis</a>
 * @version $Revision: 1.10 $
 *
 * Last modified: $Date: 2008/10/26 16:47:10 $ by $Author: anton $
 */
public interface FormDocument extends FormComponentContainer {

	public abstract void setFormDocumentModified(boolean changed);
	
	public abstract boolean isFormDocumentModified();
	
	public abstract Document getComponentsXml(FormComponent component, Locale locale);
	
	public abstract Long getFormId();
	
	public abstract Locale getDefaultLocale();
	
	public abstract Page getConfirmationPage();
	
	public abstract PageThankYou getThxPage();
	
	public abstract void registerForLastPage(String register_page_id);
	
	public abstract String generateNewComponentId();
	
	public abstract Element getAutofillModelElement();
	
	public abstract Element getFormDataModelElement();
	
	public abstract Element getFormMainDataInstanceElement();
	
	public abstract Element getSubmissionElement();
	
	public abstract Element getSectionsVisualizationInstanceElement();
	
	public abstract PropertiesDocument getProperties();
	
	public abstract String getFormType();
	
	public abstract LocalizedStringBean getFormTitle();