001/* 002 * (C) Copyright 2018 Nuxeo (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 * Funsho David 018 * 019 */ 020 021package org.nuxeo.ecm.annotation; 022 023 024/** 025 * Annotation interface 026 * 027 * @since 10.1 028 */ 029public interface Annotation { 030 031 /** 032 * Gets annotation id. 033 * 034 * @return the id 035 */ 036 String getId(); 037 038 /** 039 * Sets annotation id. 040 * 041 * @param id the id 042 */ 043 void setId(String id); 044 045 /** 046 * Gets the annotated document id. 047 * 048 * @return the annotated document id 049 */ 050 String getDocumentId(); 051 052 /** 053 * Sets the annotated document id. 054 * 055 * @param documentId the annotated document id 056 */ 057 void setDocumentId(String documentId); 058 059 /** 060 * Gets the xpath of annotated blob in the document. 061 * 062 * @return the xpath 063 */ 064 String getXpath(); 065 066 /** 067 * Sets the xpath of annotated blob in the document. 068 * 069 * @param xpath the xpath 070 */ 071 void setXpath(String xpath); 072 073 /** 074 * Gets annotation entity. This represents the annotation model as the rendition server describes it. 075 * 076 * @return the entity 077 */ 078 String getEntity(); 079 080 /** 081 * Sets annotation entity. 082 * 083 * @param entity the entity 084 */ 085 void setEntity(String entity); 086 087}