View Javadoc

1   /*
2    * Created on Apr 9, 2007 by scott
3    *
4    *  Copyright (C) 2005  The Concord Consortium, Inc.,
5    *  10 Concord Crossing, Concord, MA 01742
6    *
7    *  Web Site: http://www.concord.org
8    *  Email: info@concord.org
9    *
10   *  This library is free software; you can redistribute it and/or
11   *  modify it under the terms of the GNU Lesser General Public
12   *  License as published by the Free Software Foundation; either
13   *  version 2.1 of the License, or (at your option) any later version.
14   *
15   *  This library is distributed in the hope that it will be useful,
16   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18   *  Lesser General Public License for more details.
19   *
20   *  You should have received a copy of the GNU Lesser General Public
21   *  License along with this library; if not, write to the Free Software
22   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
23   *
24   */
25  package net.sf.sail.core.entity;
26  
27  /**
28   * This interface is modeled after the EAnnotation class from EMF.
29   * 
30   * @author scott
31   *
32   */
33  public interface IAnnotation
34  {
35  	/**
36  	 * This is a URI identifying the type of this annotation.
37  	 * 
38  	 * The name source came from the EAnnotation object used by EMF.
39  	 * The use of a URI to identify a type is used by:
40  	 * xml namespaces and RDF 
41  	 * 
42  	 * @return
43  	 */
44  	public String getSource();
45  
46  	public void setSource(String source);
47  	
48  	/**
49  	 * The mime type for the content of the Annotation.  Unlike EMF these
50  	 * annotations can only store strings.  So a content type is useful 
51  	 * to help parse string, 
52  	 * 
53  	 * @return
54  	 */
55  	public String getContentType();
56  
57  	public void setContentType(String contentType);
58  	
59  	/**
60  	 * The actual content of the annotation.
61  	 * 
62  	 * @return
63  	 */
64  	public String getContents();	
65  	
66  	public void setContents(String contents);
67  	
68  	/**
69  	 * Return the entity that this is an annoation of.  Currently this
70  	 * can be a Pod or Rim.
71  	 * 
72  	 * @return
73  	 */
74  	public Object getSailEntity();
75  	
76  	public void setSailEntity(Object entity);
77  }