001/* 002 * (C) Copyright 2011 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 * 016 * Contributors: 017 * Florent Guillaume 018 */ 019package org.nuxeo.apidoc.api; 020 021import java.util.List; 022 023import org.nuxeo.ecm.automation.OperationDocumentation.Param; 024 025/** 026 * Information about an operation 027 */ 028public interface OperationInfo extends NuxeoArtifact, Comparable<OperationInfo> { 029 030 String TYPE_NAME = "NXOperation"; 031 032 /** Prefix for {@link #getId}. */ 033 String ARTIFACT_PREFIX = "op:"; 034 035 String PROP_NAME = "nxop:name"; 036 037 String PROP_ALIASES = "nxop:aliases"; 038 039 String PROP_VERSION = "nxop:version"; 040 041 String PROP_DESCRIPTION = "nxop:description"; 042 043 String PROP_SIGNATURE = "nxop:signature"; 044 045 String PROP_CATEGORY = "nxop:category"; 046 047 String PROP_URL = "nxop:url"; 048 049 String PROP_LABEL = "nxop:label"; 050 051 String PROP_REQUIRES = "nxop:requires"; 052 053 String PROP_SINCE = "nxop:since"; 054 055 String PROP_PARAMS = "nxop:params"; 056 057 String PROP_PARAM_NAME = "name"; 058 059 String PROP_PARAM_TYPE = "type"; 060 061 String PROP_PARAM_WIDGET = "widget"; 062 063 String PROP_PARAM_VALUES = "values"; 064 065 String PROP_PARAM_REQUIRED = "required"; 066 067 String PROP_PARAM_ORDER = "order"; 068 069 String PROP_OP_CLASS = "operationClass"; 070 071 String PROP_CONTRIBUTING_COMPONENT = "contributingComponent"; 072 073 String BUILT_IN = "BuiltIn"; 074 075 /** 076 * Actual operation id. ({@link #getId} is prefixed with 077 * {@link #ARTIFACT_PREFIX}) 078 */ 079 String getName(); 080 081 String[] getAliases(); 082 083 String getUrl(); 084 085 String[] getSignature(); 086 087 String getCategory(); 088 089 String getLabel(); 090 091 String getRequires(); 092 093 String getSince(); 094 095 String getDescription(); 096 097 List<Param> getParams(); 098 099 String getOperationClass(); 100 101 String getContributingComponent(); 102}