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

org.bedework.calfacade.ical.BwIcalPropertyInfo Maven / Gradle / Ivy

The newest version!
/* Auto generated file - do not edit 
 */
package org.bedework.calfacade.ical;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import org.bedework.calfacade.BwDateTime;
import org.bedework.calfacade.BwEvent;
import org.bedework.calfacade.BwGeo;
import org.bedework.calfacade.BwLocation;
import org.bedework.calfacade.BwOrganizer;
import org.bedework.calfacade.BwRelatedTo;
import org.bedework.calfacade.BwString;
import org.bedework.calfacade.SchedulingInfo;
import org.bedework.util.calendar.PropertyIndex.PropertyInfoIndex;

/** This class is auto generated
 *
 */
public class BwIcalPropertyInfo implements Serializable {
  /** This class is auto generated
   * It provides information about bedework properties and
   * their relationship to icalendar properties
   */
  public static class BwIcalPropertyInfoEntry implements Serializable {
    private PropertyInfoIndex pindex;
    private String dbFieldName;
    private String adderName;
    private String jname;
    private Class fieldType;
    /* True for nested types */
    private boolean nested;
    /* != UNKNOWN_PROPERTY for indexed values */
    private PropertyInfoIndex keyindex;
    /* True for analyzed types */
    private boolean analyzed;
    /* field we test for full term match */
    private String termsField;
    /* field we test for presence */
    private String presenceField;
    /* It's a parameter */
    private boolean param;
    /* Required for a valid event */
    private boolean required;
    /* Required for a valid annotation */
    private boolean annotationRequired;
    /* True if changing this forces a reschedule */
    private boolean reschedule;
    /* Derived during generation */
    private boolean multiValued;
    private boolean eventProperty;
    private boolean todoProperty;
    private boolean journalProperty;
    private boolean freeBusyProperty;
    private boolean timezoneProperty;
    private boolean alarmProperty;
    private boolean vavailabilityProperty;
    private boolean availableProperty;

    /**
     * @param pindex
     * @param dbFieldName
     * @param adderName
     * @param jname
     * @param fieldType
     * @param nested  True for nested types
     * @param keyindex  != UNKNOWN_PROPERTY for indexed values
     * @param analyzed  True for analyzed types
     * @param termsField  field we test for full term match
     * @param presenceField  field we test for presence
     * @param param  It's a parameter
     * @param required  Required for a valid event
     * @param annotationRequired  Required for a valid annotation
     * @param reschedule  True if changing this forces a reschedule
     * @param multiValued  Derived during generation
     * @param eventProperty
     * @param todoProperty
     * @param journalProperty
     * @param freeBusyProperty
     * @param timezoneProperty
     * @param alarmProperty
     * @param vavailabilityProperty
     * @param availableProperty
     */
    public BwIcalPropertyInfoEntry(PropertyInfoIndex pindex,
                                   String dbFieldName,
                                   String adderName,
                                   String jname,
                                   Class fieldType,
                                   boolean nested,
                                   PropertyInfoIndex keyindex,
                                   boolean analyzed,
                                   String termsField,
                                   String presenceField,
                                   boolean param,
                                   boolean required,
                                   boolean annotationRequired,
                                   boolean reschedule,
                                   boolean multiValued,
                                   boolean eventProperty,
                                   boolean todoProperty,
                                   boolean journalProperty,
                                   boolean freeBusyProperty,
                                   boolean timezoneProperty,
                                   boolean alarmProperty,
                                   boolean vavailabilityProperty,
                                   boolean availableProperty) {
      this.pindex = pindex;
      this.dbFieldName = dbFieldName;
      this.adderName = adderName;
      this.jname = jname;
      this.fieldType = fieldType;
      this.nested = nested;
      this.keyindex = keyindex;
      this.analyzed = analyzed;
      this.termsField = termsField;
      this.presenceField = presenceField;
      this.param = param;
      this.required = required;
      this.annotationRequired = annotationRequired;
      this.reschedule = reschedule;
      this.multiValued = multiValued;
      this.eventProperty = eventProperty;
      this.todoProperty = todoProperty;
      this.journalProperty = journalProperty;
      this.freeBusyProperty = freeBusyProperty;
      this.timezoneProperty = timezoneProperty;
      this.alarmProperty = alarmProperty;
      this.vavailabilityProperty = vavailabilityProperty;
      this.availableProperty = availableProperty;
    }

    /**
     * @return PropertyInfoIndex
     */
    public PropertyInfoIndex getPindex() {
      return pindex;
    }

    /**
     * @return String
     */
    public String getDbFieldName() {
      return dbFieldName;
    }

    /**
     * @return String
     */
    public String getAdderName() {
      return adderName;
    }

    /**
     * @return String
     */
    public String getJname() {
      return jname;
    }

    /**
     * @return Class
     */
    public Class getFieldType() {
      return fieldType;
    }

    /**
     * @return boolean
     */
    public boolean getNested() {
      return nested;
    }

    /**
     * @return PropertyInfoIndex
     */
    public PropertyInfoIndex getKeyindex() {
      return keyindex;
    }

    /**
     * @return boolean
     */
    public boolean getAnalyzed() {
      return analyzed;
    }

    /**
     * @return String
     */
    public String getTermsField() {
      return termsField;
    }

    /**
     * @return String
     */
    public String getPresenceField() {
      return presenceField;
    }

    /**
     * @return boolean
     */
    public boolean getParam() {
      return param;
    }

    /**
     * @return boolean
     */
    public boolean getRequired() {
      return required;
    }

    /**
     * @return boolean
     */
    public boolean getAnnotationRequired() {
      return annotationRequired;
    }

    /**
     * @return boolean
     */
    public boolean getReschedule() {
      return reschedule;
    }

    /**
     * @return boolean
     */
    public boolean getMultiValued() {
      return multiValued;
    }

    /**
     * @return boolean
     */
    public boolean getEventProperty() {
      return eventProperty;
    }

    /**
     * @return boolean
     */
    public boolean getTodoProperty() {
      return todoProperty;
    }

    /**
     * @return boolean
     */
    public boolean getJournalProperty() {
      return journalProperty;
    }

    /**
     * @return boolean
     */
    public boolean getFreeBusyProperty() {
      return freeBusyProperty;
    }

    /**
     * @return boolean
     */
    public boolean getTimezoneProperty() {
      return timezoneProperty;
    }

    /**
     * @return boolean
     */
    public boolean getAlarmProperty() {
      return alarmProperty;
    }

    /**
     * @return boolean
     */
    public boolean getVavailabilityProperty() {
      return vavailabilityProperty;
    }

    /**
     * @return boolean
     */
    public boolean getAvailableProperty() {
      return availableProperty;
    }

  }
  private static HashMap info = 
          new HashMap<>();

  static {
    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ACCEPT_RESPONSE,
                                         "pollAcceptResponse",    // dbFieldName
                                         null,    // adderName
                                         "pollAcceptResponse",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ACCESSIBLE_FLD,
                                         "accessible",    // dbFieldName
                                         null,    // adderName
                                         "accessible",    // jname
                                         boolean.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ACL,
                                         "access",    // dbFieldName
                                         null,    // adderName
                                         "acl",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         true,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ACTION,
                                         "alarmType",    // dbFieldName
                                         null,    // adderName
                                         "alarmType",    // jname
                                         int.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         true,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ADDRESS,
                                         "address",    // dbFieldName
                                         null,    // adderName
                                         "address",    // jname
                                         BwString.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ADDRESS_FLD,
                                         "addressField",    // dbFieldName
                                         null,    // adderName
                                         "addressField",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.AFFECTS_FREE_BUSY,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "affectsFreeBusy",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ALIAS_URI,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "aliasURI",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ALTADDRESS_FLD,
                                         "alternateAddress",    // dbFieldName
                                         null,    // adderName
                                         "alternateAddress",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ATTACH,
                                         "attachments",    // dbFieldName
                                         "attachment",    // adderName
                                         "attachments",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ATTENDEE,
                                         "attendees",    // dbFieldName
                                         "attendee",    // adderName
                                         "attendee",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         true,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ATTENDEE_SCHEDULING_OBJECT,
                                         "attendeeSchedulingObject",    // dbFieldName
                                         null,    // adderName
                                         "attendeeSchedulingObject",    // jname
                                         Boolean.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.BUSYTYPE,
                                         "busyType",    // dbFieldName
                                         null,    // adderName
                                         "busyType",    // jname
                                         int.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         true,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CALSCALE,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "calscale",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CALSUITE,
                                         "calSuite",    // dbFieldName
                                         null,    // adderName
                                         "calSuite",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CALTYPE,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "caltype",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CATEGORIES,
                                         "categories",    // dbFieldName
                                         "category",    // adderName
                                         "categories",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CITY_FLD,
                                         "city",    // dbFieldName
                                         null,    // adderName
                                         "city",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CLASS,
                                         "classification",    // dbFieldName
                                         null,    // adderName
                                         "classification",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CN,
                                         "cn",    // dbFieldName
                                         null,    // adderName
                                         "cn",    // jname
                                         BwString.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         true,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CODEIDX_FLD,
                                         "code",    // dbFieldName
                                         null,    // adderName
                                         "code",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.COLLECTION,
                                         "colPath",    // dbFieldName
                                         null,    // adderName
                                         "colPath",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         true,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.COLPATH,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "colPath",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.COL_PROPERTIES,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "colProperties",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.COMMENT,
                                         "comments",    // dbFieldName
                                         "comment",    // adderName
                                         "comments",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         true,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.COMPLETED,
                                         "completed",    // dbFieldName
                                         null,    // adderName
                                         "completed",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CONCEPT,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "concepts",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CONTACT,
                                         "contacts",    // dbFieldName
                                         "contact",    // adderName
                                         "contacts",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CONTACT_ALL,
                                         "cn",    // dbFieldName
                                         null,    // adderName
                                         "contact_all",    // jname
                                         BwString.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         true,    // analyzed
                                         "contact_all_terms",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.COST,
                                         "cost",    // dbFieldName
                                         null,    // adderName
                                         "cost",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.COUNTRY_FLD,
                                         "country",    // dbFieldName
                                         null,    // adderName
                                         "country",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CREATED,
                                         "created",    // dbFieldName
                                         null,    // adderName
                                         "created",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CREATOR,
                                         "creatorHref",    // dbFieldName
                                         null,    // adderName
                                         "creatorHref",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         true,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CTAG,
                                         "etag",    // dbFieldName
                                         null,    // adderName
                                         "ctag",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.CTOKEN,
                                         "ctoken",    // dbFieldName
                                         null,    // adderName
                                         "ctoken",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.DELETED,
                                         "deleted",    // dbFieldName
                                         null,    // adderName
                                         "deleted",    // jname
                                         boolean.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.DESCRIPTION,
                                         "descriptions",    // dbFieldName
                                         "description",    // adderName
                                         "description",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         true,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         true,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.DISPLAY,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "display",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.DOCTYPE,
                                         "entityType",    // dbFieldName
                                         null,    // adderName
                                         "_type",    // jname
                                         int.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.DTEND,
                                         "dtend",    // dbFieldName
                                         null,    // adderName
                                         "dtend",    // jname
                                         BwDateTime.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         "dtval",    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         true,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         false,    // todo
                                         false,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.DTSTAMP,
                                         "dtstamp",    // dbFieldName
                                         null,    // adderName
                                         "dtstamp",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.DTSTART,
                                         "dtstart",    // dbFieldName
                                         null,    // adderName
                                         "dtstart",    // jname
                                         BwDateTime.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         "dtval",    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         true,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.DUE,
                                         "dtend",    // dbFieldName
                                         null,    // adderName
                                         "dtend",    // jname
                                         BwDateTime.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         "dtval",    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         true,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.DURATION,
                                         "duration",    // dbFieldName
                                         null,    // adderName
                                         "duration",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         true,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         false,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         true,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.EMAIL,
                                         "email",    // dbFieldName
                                         null,    // adderName
                                         "email",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.END_TYPE,
                                         "endType",    // dbFieldName
                                         null,    // adderName
                                         "endType",    // jname
                                         char.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ENTITY_TYPE,
                                         "entityType",    // dbFieldName
                                         null,    // adderName
                                         "entityType",    // jname
                                         int.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ESTIMATED_DURATION,
                                         "estimatedDuration",    // dbFieldName
                                         null,    // adderName
                                         "estimatedDuration",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ETAG,
                                         "ctoken",    // dbFieldName
                                         null,    // adderName
                                         "etag",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.EVENTREG_END,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "eventregEnd",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.EVENTREG_MAX_TICKETS,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "eventregMaxTickets",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.EVENTREG_MAX_TICKETS_PER_USER,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "eventregMaxTicketsPerUser",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.EVENTREG_START,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "eventregStart",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.EVENTREG_WAIT_LIST_LIMIT,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "eventregWaitListLimit",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.EXDATE,
                                         "exdates",    // dbFieldName
                                         "exdate",    // adderName
                                         "exdate",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         true,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.EXPECT_REPLY,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "expectReply",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.EXRULE,
                                         "exrules",    // dbFieldName
                                         "exrule",    // adderName
                                         "exrule",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         true,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.FILTER_EXPR,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "filterExpr",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.FLOATING,
                                         "floatFlag",    // dbFieldName
                                         null,    // adderName
                                         "floating",    // jname
                                         Boolean.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.FREEBUSY,
                                         "freeBusyPeriods",    // dbFieldName
                                         null,    // adderName
                                         "freeBusyPeriods",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.GEO,
                                         "geo",    // dbFieldName
                                         null,    // adderName
                                         "geo",    // jname
                                         BwGeo.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.GEOURI_FLD,
                                         "geouri",    // dbFieldName
                                         null,    // adderName
                                         "geouri",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.HREF,
                                         "href",    // dbFieldName
                                         null,    // adderName
                                         "href",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.IGNORE_TRANSP,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "ignoreTransp",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.IMAGE,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "image",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.INDEX_END,
                                         "dtend",    // dbFieldName
                                         null,    // adderName
                                         "indexEnd",    // jname
                                         BwDateTime.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         "dtval",    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         true,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         false,    // todo
                                         false,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.INDEX_START,
                                         "dtstart",    // dbFieldName
                                         null,    // adderName
                                         "indexStart",    // jname
                                         BwDateTime.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         "dtval",    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         true,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.INSTANCE,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "instance",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         true,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.KIND,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "kind",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LANG,
                                         "lang",    // dbFieldName
                                         null,    // adderName
                                         "lang",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LASTMODSEQ,
                                         "ctoken",    // dbFieldName
                                         null,    // adderName
                                         "lastModifiedSeq",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LAST_MODIFIED,
                                         "lastmod",    // dbFieldName
                                         null,    // adderName
                                         "lastModified",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LAST_REFRESH,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "lastRefresh",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LAST_REFRESH_STATUS,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "lastRefreshStatus",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LOCAL,
                                         "date",    // dbFieldName
                                         null,    // adderName
                                         "local",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LOCATION,
                                         "location",    // dbFieldName
                                         null,    // adderName
                                         "location",    // jname
                                         BwLocation.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         true,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LOCATION_HREF,
                                         "locationHref",    // dbFieldName
                                         null,    // adderName
                                         "locationHref",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LOCATION_STR,
                                         "location",    // dbFieldName
                                         null,    // adderName
                                         "locationStr",    // jname
                                         BwLocation.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LOCTYPE_FLD,
                                         "loctype",    // dbFieldName
                                         null,    // adderName
                                         "loctype",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LOC_ALL,
                                         "address",    // dbFieldName
                                         null,    // adderName
                                         "loc_all",    // jname
                                         BwString.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         true,    // analyzed
                                         "loc_all_terms",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LOC_COMBINED_VALUES,
                                         "combinedValues",    // dbFieldName
                                         null,    // adderName
                                         "combinedValues",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LOC_DONOTUSE_FLD,
                                         "doNotUse",    // dbFieldName
                                         null,    // adderName
                                         "doNotUse",    // jname
                                         boolean.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.LOC_KEYS_FLD,
                                         "keys",    // dbFieldName
                                         null,    // adderName
                                         "locKeys",    // jname
                                         List.class,    // fieldType
                                         true,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.MASTER,
                                         "master",    // dbFieldName
                                         null,    // adderName
                                         "master",    // jname
                                         BwEvent.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         true,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.MEMBER_OF,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "memberOf",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.METHOD,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "method",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.NAME,
                                         "name",    // dbFieldName
                                         null,    // adderName
                                         "name",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.NEXT_TRIGGER_DATE_TIME,
                                         "triggerDateTime",    // dbFieldName
                                         null,    // adderName
                                         "nextTrigger",    // jname
                                         boolean.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         true,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.NO_START,
                                         "noStart",    // dbFieldName
                                         null,    // adderName
                                         "noStart",    // jname
                                         Boolean.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ORGANIZER,
                                         "organizer",    // dbFieldName
                                         null,    // adderName
                                         "organizer",    // jname
                                         BwOrganizer.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ORGANIZER_SCHEDULING_OBJECT,
                                         "organizerSchedulingObject",    // dbFieldName
                                         null,    // adderName
                                         "organizerSchedulingObject",    // jname
                                         Boolean.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ORIGINATOR,
                                         "originator",    // dbFieldName
                                         null,    // adderName
                                         "originator",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.OVERRIDE,
                                         "override",    // dbFieldName
                                         null,    // adderName
                                         "override",    // jname
                                         Boolean.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         true,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.OWNER,
                                         "ownerHref",    // dbFieldName
                                         null,    // adderName
                                         "ownerHref",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         true,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.PARAMETERS,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "pars",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.PARTICIPANT,
                                         "schedulingInfo",    // dbFieldName
                                         null,    // adderName
                                         "schedulingInfo",    // jname
                                         org.bedework.calfacade.SchedulingInfo.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.PARTICIPANT_TYPE,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "roles",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.PARTICIPATION_STATUS,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "participationStatus",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.PERCENT_COMPLETE,
                                         "percentComplete",    // dbFieldName
                                         null,    // adderName
                                         "percentComplete",    // jname
                                         Integer.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.PHONE,
                                         "phone",    // dbFieldName
                                         null,    // adderName
                                         "phone",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.POLL_COMPLETION,
                                         "pollCompletion",    // dbFieldName
                                         null,    // adderName
                                         "pollCompletion",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.POLL_ITEM,
                                         "pollItems",    // dbFieldName
                                         null,    // adderName
                                         "pollItems",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.POLL_ITEM_ID,
                                         "pollItemId",    // dbFieldName
                                         null,    // adderName
                                         "pollItemId",    // jname
                                         Integer.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.POLL_MODE,
                                         "pollMode",    // dbFieldName
                                         null,    // adderName
                                         "pollMode",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.POLL_PROPERTIES,
                                         "pollProperties",    // dbFieldName
                                         null,    // adderName
                                         "pollProperties",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.POLL_WINNER,
                                         "pollWinner",    // dbFieldName
                                         null,    // adderName
                                         "pollWinner",    // jname
                                         Integer.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.PRIORITY,
                                         "priority",    // dbFieldName
                                         null,    // adderName
                                         "priority",    // jname
                                         Integer.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.PRODID,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "prodid",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.PUBLIC,
                                         "publick",    // dbFieldName
                                         null,    // adderName
                                         "public",    // jname
                                         Boolean.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         true,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.PUBLISH_URL,
                                         "publishUrl",    // dbFieldName
                                         null,    // adderName
                                         "publishUrl",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.RANGE,
                                         "recurrenceId",    // dbFieldName
                                         null,    // adderName
                                         "recurrenceId",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.RDATE,
                                         "rdates",    // dbFieldName
                                         "rdate",    // adderName
                                         "rdate",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         true,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.RECIPIENT,
                                         "recipients",    // dbFieldName
                                         "recipient",    // adderName
                                         "recipient",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.RECURRENCE_ID,
                                         "recurrenceId",    // dbFieldName
                                         null,    // adderName
                                         "recurrenceId",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.RECURRING,
                                         "recurring",    // dbFieldName
                                         null,    // adderName
                                         "recurring",    // jname
                                         Boolean.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.REFRESH_RATE,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "refreshRate",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.RELATED_TO,
                                         "relatedTo",    // dbFieldName
                                         null,    // adderName
                                         "relatedTo",    // jname
                                         BwRelatedTo.class,    // fieldType
                                         true,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.REMOTE_ID,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "remoteId",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.REMOTE_PW,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "remotePw",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.REPEAT,
                                         "repeat",    // dbFieldName
                                         null,    // adderName
                                         "repeat",    // jname
                                         int.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         true,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.REQUEST_STATUS,
                                         "requestStatuses",    // dbFieldName
                                         "requestStatus",    // adderName
                                         "requestStatus",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.RESOURCES,
                                         "resources",    // dbFieldName
                                         "resources",    // adderName
                                         "resources",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         true,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ROOM_FLD,
                                         "roomField",    // dbFieldName
                                         null,    // adderName
                                         "roomField",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.RRULE,
                                         "rrules",    // dbFieldName
                                         "rrule",    // adderName
                                         "rrule",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         true,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.SCHEDULE_METHOD,
                                         "scheduleMethod",    // dbFieldName
                                         null,    // adderName
                                         "scheduleMethod",    // jname
                                         int.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.SCHEDULE_STATE,
                                         "scheduleState",    // dbFieldName
                                         null,    // adderName
                                         "scheduleState",    // jname
                                         int.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.SCHEDULE_TAG,
                                         "stag",    // dbFieldName
                                         null,    // adderName
                                         "scheduleTag",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.SCHEDULING_FORCE_SEND,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "scheduleForceSend",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.SCHEDULING_SEQUENCE,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "scheduleSequence",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.SCHEDULING_STATUS,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "scheduleStatus",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.SEQUENCE,
                                         "sequence",    // dbFieldName
                                         null,    // adderName
                                         "sequence",    // jname
                                         int.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.STATE_FLD,
                                         "state",    // dbFieldName
                                         null,    // adderName
                                         "state",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.STATUS,
                                         "status",    // dbFieldName
                                         null,    // adderName
                                         "status",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.STREET_FLD,
                                         "street",    // dbFieldName
                                         null,    // adderName
                                         "street",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.SUB1_FLD,
                                         "subField1",    // dbFieldName
                                         null,    // adderName
                                         "subField1",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.SUB2_FLD,
                                         "subField2",    // dbFieldName
                                         null,    // adderName
                                         "subField2",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.SUBADDRESS,
                                         "subaddress",    // dbFieldName
                                         null,    // adderName
                                         "subaddress",    // jname
                                         BwString.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.SUGGESTED_TO,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "suggestedTo",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.SUMMARY,
                                         "summaries",    // dbFieldName
                                         "summary",    // adderName
                                         "summary",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         true,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.TAG,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "tag",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.TARGET,
                                         "target",    // dbFieldName
                                         null,    // adderName
                                         "target",    // jname
                                         BwEvent.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         true,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.THUMBIMAGE,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "thumbimage",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.TOMBSTONED,
                                         "tombstoned",    // dbFieldName
                                         null,    // adderName
                                         "tombstoned",    // jname
                                         Boolean.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.TOPICAL_AREA,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "topicalArea",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.TRANSP,
                                         "transparency",    // dbFieldName
                                         null,    // adderName
                                         "transp",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.TRIGGER,
                                         "trigger",    // dbFieldName
                                         null,    // adderName
                                         "trigger",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         true,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.TRIGGER_DATE_TIME,
                                         "triggerDateTime",    // dbFieldName
                                         null,    // adderName
                                         "triggerDateTime",    // jname
                                         boolean.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.TZID,
                                         "tzid",    // dbFieldName
                                         null,    // adderName
                                         "tzid",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.TZIDPAR,
                                         "tzid",    // dbFieldName
                                         null,    // adderName
                                         "tzid",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         true,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.UID,
                                         "uid",    // dbFieldName
                                         null,    // adderName
                                         "uid",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         true,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.UNKNOWN_PROPERTY,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "xproperties",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.UNREMOVEABLE,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "unremoveable",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.URI,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "uri",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.URL,
                                         "link",    // dbFieldName
                                         null,    // adderName
                                         "link",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.UTC,
                                         "date",    // dbFieldName
                                         null,    // adderName
                                         "utc",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.VALARM,
                                         "alarms",    // dbFieldName
                                         "alarm",    // adderName
                                         "alarm",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.VALUE,
                                         "value",    // dbFieldName
                                         null,    // adderName
                                         "value",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.VERSION,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "version",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.VIEW,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "view",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.VOTER,
                                         "attendees",    // dbFieldName
                                         "voter",    // adderName
                                         "voter",    // jname
                                         Set.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.VPATH,
                                         "xproperties",    // dbFieldName
                                         null,    // adderName
                                         "vpath",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.XBEDEWORK_COST,
                                         "cost",    // dbFieldName
                                         null,    // adderName
                                         "cost",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.XPROP,
                                         "xproperties",    // dbFieldName
                                         "xproperty",    // adderName
                                         "xprop",    // jname
                                         List.class,    // fieldType
                                         true,    // nested
                                         PropertyInfoIndex.NAME,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.X_BEDEWORK_CATEGORIES,
                                         "xproperties",    // dbFieldName
                                         "xproperty",    // adderName
                                         "xbwcategories",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.X_BEDEWORK_CONTACT,
                                         "xproperties",    // dbFieldName
                                         "xproperty",    // adderName
                                         "xbwcontact",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.X_BEDEWORK_LOCATION,
                                         "xproperties",    // dbFieldName
                                         "xproperty",    // adderName
                                         "xbwlocation",    // jname
                                         List.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         true,    // multiValued
                                         true,    // event
                                         true,    // todo
                                         true,    // journal
                                         true,    // freebusy
                                         true,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

    addPinfo(new BwIcalPropertyInfoEntry(PropertyInfoIndex.ZIP_FLD,
                                         "zip",    // dbFieldName
                                         null,    // adderName
                                         "zip",    // jname
                                         String.class,    // fieldType
                                         false,    // nested
                                         PropertyInfoIndex.UNKNOWN_PROPERTY,    // keyindex
                                         false,    // analyzed
                                         "",    // termsField
                                         null,    // presenceField
                                         false,    // param
                                         false,    // required
                                         false,    // annotationRequired
                                         false,    // reschedule
                                         false,    // multiValued
                                         false,    // event
                                         false,    // todo
                                         false,    // journal
                                         false,    // freebusy
                                         false,    // timezone
                                         false,    // alarm
                                         false,    // vavailability
                                         false));  // available

  }

  /** An array of property indexes required for valid events */
  public static Set requiredPindexes = 
          new TreeSet<>();

  static {
    requiredPindexes.add(PropertyInfoIndex.ACL);
    requiredPindexes.add(PropertyInfoIndex.COLLECTION);
    requiredPindexes.add(PropertyInfoIndex.CREATED);
    requiredPindexes.add(PropertyInfoIndex.CREATOR);
    requiredPindexes.add(PropertyInfoIndex.CTOKEN);
    requiredPindexes.add(PropertyInfoIndex.DOCTYPE);
    requiredPindexes.add(PropertyInfoIndex.DTEND);
    requiredPindexes.add(PropertyInfoIndex.DTSTAMP);
    requiredPindexes.add(PropertyInfoIndex.DTSTART);
    requiredPindexes.add(PropertyInfoIndex.DURATION);
    requiredPindexes.add(PropertyInfoIndex.END_TYPE);
    requiredPindexes.add(PropertyInfoIndex.ENTITY_TYPE);
    requiredPindexes.add(PropertyInfoIndex.HREF);
    requiredPindexes.add(PropertyInfoIndex.INDEX_END);
    requiredPindexes.add(PropertyInfoIndex.INDEX_START);
    requiredPindexes.add(PropertyInfoIndex.LOCATION_HREF);
    requiredPindexes.add(PropertyInfoIndex.LOCATION_STR);
    requiredPindexes.add(PropertyInfoIndex.NAME);
    requiredPindexes.add(PropertyInfoIndex.NO_START);
    requiredPindexes.add(PropertyInfoIndex.OWNER);
    requiredPindexes.add(PropertyInfoIndex.PUBLIC);
    requiredPindexes.add(PropertyInfoIndex.UID);
  }

  /** An array of property indexes required for valid annotations */
  public static Set requiredAnnotationPindexes = 
          new TreeSet<>();

  static {
    requiredAnnotationPindexes.add(PropertyInfoIndex.INSTANCE);
    requiredAnnotationPindexes.add(PropertyInfoIndex.MASTER);
    requiredAnnotationPindexes.add(PropertyInfoIndex.OVERRIDE);
    requiredAnnotationPindexes.add(PropertyInfoIndex.TARGET);
  }

  /** An array of unreferenced property indexes */
  PropertyInfoIndex[] unreferencedPindexes = {
    PropertyInfoIndex.COLOR,
    PropertyInfoIndex.DBID,
    PropertyInfoIndex.LAST_ETAG,
    PropertyInfoIndex.PARTICIPATION_DELEGATED_FROM,
    PropertyInfoIndex.PARTICIPATION_DELEGATED_TO,
    PropertyInfoIndex.POLL_VOTE_RESPONSE,
    PropertyInfoIndex.RELEVANCE,
    PropertyInfoIndex.SCHEDULING_UPDATED,
    PropertyInfoIndex.TZNAME,
    PropertyInfoIndex.TZOFFSETFROM,
    PropertyInfoIndex.TZOFFSETTO,
    PropertyInfoIndex.TZURL,
    PropertyInfoIndex.VLOCATION,
    PropertyInfoIndex.VOTE,
  };

  /** Get entry given an index
   * @param pindex
   * @return BwIcalPropertyInfoEntry
   */
  public static BwIcalPropertyInfoEntry getPinfo(PropertyInfoIndex pindex) {
    return info.get(pindex);
  }

  private static void addPinfo(BwIcalPropertyInfoEntry pinfo) {
    BwIcalPropertyInfoEntry pinfo1 = info.put(pinfo.getPindex(), pinfo);
    if (pinfo1 != null) {
      throw new RuntimeException("Duplicate index " + pinfo.getPindex());
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy