package org.osaf.caldav4j.model.util;
import org.apache.commons.lang.ArrayUtils;
import org.osaf.caldav4j.CalDAVConstants;
import org.osaf.caldav4j.exceptions.CalDAV4JException;
import org.osaf.caldav4j.model.request.PropProperty;
/**
* Create DAV or CalDAV properties
* @author rpolli
*
*/
public class PropertyFactory implements CalDAVConstants {
public static final String ACL =CalDAVConstants.DAV_ACL;
public static final String PROPFIND = CalDAVConstants.DAV_PROPFIND;
public static final String DISPLAYNAME = CalDAVConstants.DAV_DISPLAYNAME;
public static final String PROP = CalDAVConstants.DAV_PROP;
public static final String OWNER = CalDAVConstants.DAV_PRINCIPAL_OWNER;
private static String[] davProperties = new String[] {ACL, PROPFIND, DISPLAYNAME, PROP, OWNER};
private static String[] caldavProperties = new String[] {};
/**
* Return a new PropProperty setting the proper NAMESPACE
* @param property
* @return
* @throws CalDAV4JException
*/
public static PropProperty createProperty(String property) throws CalDAV4JException {
if (ArrayUtils.contains((Object[])davProperties, property)) {
return new PropProperty(NS_DAV, NS_QUAL_DAV, property);
} else if (ArrayUtils.contains((Object[])davProperties, property)) {
return new PropProperty(NS_DAV, NS_QUAL_DAV, property);
}
throw new CalDAV4JException("Unsupported property: "+ property);
}
}