/******************************************************************************* * Copyright (c) 2011 GitHub Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Kevin Sawicki (GitHub Inc.) - initial API and implementation *******************************************************************************/ package org.eclipse.mylyn.internal.github.core.gist; import org.eclipse.mylyn.internal.github.core.GitHubAttributeMetadata; import org.eclipse.mylyn.tasks.core.data.TaskAttribute; /** * Gist task attribute enumeration. */ public enum GistAttribute { /** * Gist key */ KEY(TaskAttribute.TASK_KEY, Messages.GistAttribute_LabelKey, TaskAttribute.TYPE_SHORT_TEXT, true), /** * Gist author */ AUTHOR(TaskAttribute.USER_REPORTER, Messages.GistAttribute_LabelAuthor, TaskAttribute.TYPE_PERSON, true), /** * Gist author gravatar url */ AUTHOR_GRAVATAR( "github.gist.reporter.avatar", //$NON-NLS-1$ Messages.GistAttribute_LabelAuthorGravatar, TaskAttribute.TYPE_URL, true), /** * Gist created date */ CREATED(TaskAttribute.DATE_CREATION, Messages.GistAttribute_LabelCreated, TaskAttribute.TYPE_DATETIME, true), /** * Gist updated date */ UPDATED(TaskAttribute.DATE_MODIFICATION, Messages.GistAttribute_LabelModified, TaskAttribute.TYPE_DATETIME, true), /** * Comment being added to gist */ COMMENT_NEW(TaskAttribute.COMMENT_NEW, Messages.GistAttribute_LabelNewComment, TaskAttribute.TYPE_LONG_RICH_TEXT, false), /** * URL */ URL(TaskAttribute.TASK_URL, Messages.GistAttribute_LabelUrl, TaskAttribute.TYPE_URL, true), /** * RAW_FILE_URL */ RAW_FILE_URL( "github.gist.file.url", Messages.GistAttribute_LabelFileUrl, TaskAttribute.TYPE_URL, //$NON-NLS-1$ true), /** * CLONE_URL */ CLONE_URL( "github.gist.cloneUrl", Messages.GistAttribute_LabelCloneUrl, TaskAttribute.TYPE_URL, //$NON-NLS-1$ true), /** * SUMMARY */ SUMMARY(TaskAttribute.SUMMARY, Messages.GistAttribute_LabelSummary, TaskAttribute.TYPE_SHORT_RICH_TEXT, true), /** * Gist description */ DESCRIPTION(TaskAttribute.DESCRIPTION, Messages.GistAttribute_LabelDescription, TaskAttribute.TYPE_LONG_RICH_TEXT, false); private final GitHubAttributeMetadata attribute; private GistAttribute(String id, String label, String type, boolean readOnly) { attribute = new GitHubAttributeMetadata(id, label, type, readOnly); } private GistAttribute(String id, String label, String kind, String type, boolean readOnly) { attribute = new GitHubAttributeMetadata(id, label, kind, type, readOnly, false); } /** * Get task attribute metadata * * @return metadata */ public GitHubAttributeMetadata getMetadata() { return attribute; } }