/* Copyright (c) 2008 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.gdata.data.calendar;
import com.google.gdata.data.ExtensionDescription;
import com.google.gdata.data.ValueConstruct;
/**
* GData schema extension describing how much a given user may do with a
* given event or calendar.
*
*
*/
public class AccessLevelProperty extends ValueConstruct {
/**
* The event is not visible.
*/
public static final AccessLevelProperty NONE =
new AccessLevelProperty("none");
/**
* The event details are readable.
*/
public static final AccessLevelProperty READ =
new AccessLevelProperty("read");
/**
* The event shows up as busy time only.
*/
public static final AccessLevelProperty FREEBUSY =
new AccessLevelProperty("freebusy");
/**
* Only applies to events. The participant can read and reply to
* the event invitation.
*/
public static final AccessLevelProperty RESPOND =
new AccessLevelProperty("respond");
/**
* Only applies to events. OVERRIDE access indicates that an event
* may be modified by way of a set of local overrides that will
* not be propagated back to the organizer.
*/
public static final AccessLevelProperty OVERRIDE =
new AccessLevelProperty("override");
/**
* On a calendar, allows full owner access except an editor may not
* change access control settings on the calendar. On an event, the
* user may edit the event.
*/
public static final AccessLevelProperty EDITOR =
new AccessLevelProperty("editor");
/**
* The user is the event organizer or the owner of the calendar.
*/
public static final AccessLevelProperty OWNER =
new AccessLevelProperty("owner");
/**
* The calendar server itself. Cannot be used by any user.
*/
public static final AccessLevelProperty ROOT =
new AccessLevelProperty("root");
public static ExtensionDescription getDefaultDescription() {
return new ExtensionDescription(AccessLevelProperty.class,
Namespaces.gCalNs, "accesslevel");
}
public AccessLevelProperty() {
this(null);
}
public AccessLevelProperty(String value) {
super(Namespaces.gCalNs, "accesslevel", "value", value);
}
}