All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sk.iway.iwcm.components.news.FieldEnum Maven / Gradle / Ivy

package sk.iway.iwcm.components.news;

import java.util.Date;

import sk.iway.iwcm.Tools;
import sk.iway.iwcm.i18n.Prop;

/**
 * Zoznam poli v tabulke documents
 * @author mbocko
 *
 */
public enum FieldEnum
{
	DOC_ID(Integer.class),
	DATA(String.class),
	DATA_ASC(String.class),
	DATE_CREATED(Date.class),
	PUBLISH_START(Date.class),
	PUBLISH_END(Date.class),
	AUTHOR_ID(Integer.class),
	SEARCHABLE(Boolean.class),
	GROUP_ID(Integer.class),
	AVAILABLE(Boolean.class),
	SHOW_IN_MENU(Boolean.class),
	PASSWORD_PROTECTED(Boolean.class),
	CACHEABLE(Boolean.class),
	EXTERNAL_LINK(String.class),
	VIRTUAL_PATH(String.class),
	TEMP_ID(Integer.class),
	TITLE(String.class),
	NAVBAR(String.class),
	FILE_NAME(String.class),
	SORT_PRIORITY(Integer.class),
	HEADER_DOC_ID(Integer.class),
	FOOTER_DOC_ID(Integer.class),
	MENU_DOC_ID(Integer.class),
	RIGHT_MENU_DOC_ID(Integer.class),
	HTML_HEAD(String.class),
	HTML_DATA(String.class),
	PEREX_PLACE(String.class),
	PEREX_IMAGE(String.class),
	PEREX_GROUP(String.class),
	EVENT_DATE(Date.class),
	SYNC_ID(Integer.class),
	SYNC_STATUS(Boolean.class),
	FIELD_A(String.class),
	FIELD_B(String.class),
	FIELD_C(String.class),
	FIELD_D(String.class),
	FIELD_E(String.class),
	FIELD_F(String.class),
	FIELD_G(String.class),
	FIELD_H(String.class),
	FIELD_I(String.class),
	FIELD_J(String.class),
	FIELD_K(String.class),
	FIELD_L(String.class),
	FIELD_M(String.class),
	FIELD_N(String.class),
	FIELD_O(String.class),
	FIELD_P(String.class),
	FIELD_Q(String.class),
	FIELD_R(String.class),
	FIELD_S(String.class),
	FIELD_T(String.class),
	DISABLE_AFTER_END(Boolean.class),
	FORUM_COUNT(Integer.class),
	VIEWS_TOTAL(Integer.class),
	REQUIRE_SSL(Boolean.class);
	
	private Class fieldType;
	
	private FieldEnum (Class fieldType)
	{
		this.fieldType = fieldType;
	}
	
	public Class getFieldType()
	{
		return fieldType;
	}
	
	public String getFieldTypeString()
	{
		return fieldType.getSimpleName();
	}
	
	public String getDbName()
	{
		return "d."+this.name().toLowerCase();
	}

	private static String getFields(boolean data)
	{
		StringBuilder sb = new StringBuilder();
		boolean addcomma = false;
		for (FieldEnum field :	FieldEnum.values())
		{
			if (!data && field.name().equalsIgnoreCase("data"))
				continue;
			if (addcomma) 
				sb.append(",");
			sb.append(field.getDbName());
			addcomma = true;
		}
		return sb.toString();
	}

	public static String getFields()
	{
		return getFields(true);
	}

	public static String getFieldsNoData()
	{
		return getFields(false);
	}
	
	public String getTranslate()
	{
		return Prop.getInstance().getText("news.field_enum." + name().toLowerCase());
	}

	public static FieldEnum getField(String name)
	{
		for (FieldEnum field :	FieldEnum.values())
		{
			if ( Tools.replace(field.name(), "_", "").equalsIgnoreCase(name))
				return field;
		}
		return null;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy