1 /* 2 * Copyright 2004 Sun Microsystems, Inc. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 * 16 */ 17 package com.sun.syndication.feed.synd; 18 19 import com.sun.syndication.feed.CopyFrom; 20 21 22 /** 23 * Bean interface for content of SyndFeedImpl entries. 24 * <p> 25 * @author Alejandro Abdelnur 26 * 27 */ 28 public interface SyndContent extends Cloneable,CopyFrom { 29 /** 30 * Returns the content type. 31 * <p> 32 * When used for the description of an entry, if <b>null</b> 'text/plain' must be assumed. 33 * <p> 34 * @return the content type, <b>null</b> if none. 35 * 36 */ 37 String getType(); 38 39 /** 40 * Sets the content type. 41 * <p> 42 * When used for the description of an entry, if <b>null</b> 'text/plain' must be assumed. 43 * <p> 44 * @param type the content type to set, <b>null</b> if none. 45 * 46 */ 47 void setType(String type); 48 49 /** 50 * Sets the content mode (needed for Atom 0.3 support). 51 * @param type the content type to set, <b>null</b> if none. 52 * 53 */ 54 String getMode(); 55 56 /** 57 * Sets the content mode (needed for Atom 0.3 support). 58 * @param type the content type to set, <b>null</b> if none. 59 * 60 */ 61 void setMode(String mode); 62 63 /** 64 * Returns the content value. 65 * <p> 66 * @return the content value, <b>null</b> if none. 67 * 68 */ 69 String getValue(); 70 71 /** 72 * Sets the content value. 73 * <p> 74 * @param value the content value to set, <b>null</b> if none. 75 * 76 */ 77 void setValue(String value); 78 79 /** 80 * Creates a deep clone of the object. 81 * <p> 82 * @return a clone of the object. 83 * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned. 84 * 85 */ 86 public Object clone() throws CloneNotSupportedException; 87 88 }