View Javadoc
1 /* 2 * Copyright (c) 2003 3 * Information Desire GmbH 4 * All rights reserved. 5 */ 6 package com.infodesire.infobit; 7 8 import com.infodesire.infobit.data.Infobit; 9 import com.infodesire.infobit.data.Acl; 10 import com.infodesire.infobit.data.Version; 11 import com.infodesire.infobit.data.Content; 12 import com.infodesire.infobit.data.PrimitiveContent; 13 import com.infodesire.infobit.data.Keyworded; 14 15 import java.util.Set; 16 import java.util.Map; 17 import java.util.Collection; 18 19 import java.io.InputStream; 20 /*** 21 * manager for infobits. frontend for infobit DAO 22 * 23 * @author konstantin 24 * @created July 29, 2003 25 * @version $Revision: 1.16 $ 26 */ 27 public interface InfobitManager { 28 29 /*** 30 * create new infobit instance with specified name and acl 31 * 32 * @param name infobit name 33 * @param acl acl name 34 * @return Description of the Returned Value 35 * @exception InfobitException thrown when infobit creation fails 36 * @exception InfobitSecurityException thrown because of insufficient 37 * privileges 38 */ 39 Infobit createInfobit(String name, Acl acl) throws InfobitException, InfobitSecurityException; 40 41 42 /*** 43 * whether pool knows about infobit ( i.e. infobit exists ) 44 * 45 * @param id infobit id 46 * @return whether infobit with given name exists 47 * @exception InfobitException thrown when some problem occurs 48 */ 49 boolean hasInfobit(String id) throws InfobitException; 50 51 52 /*** 53 * load infobit in with id. if exists and possible 54 * 55 * @param id infobit id 56 * @return infobit instance 57 * @exception InfobitException when some problem occurs 58 * @exception InfobitSecurityException Description of Exception 59 */ 60 Infobit getInfobit(String id) throws InfobitException, InfobitSecurityException; 61 62 63 /*** 64 * remove infobit if possible 65 * 66 * @param id infobit id 67 * @exception InfobitException when some problem occurs 68 * @exception InfobitSecurityException when insufficient permissions. 69 * @exception InfobitIntegrityException when removal violates structural 70 * integrity 71 */ 72 void removeInfobit(String id) throws InfobitException, InfobitIntegrityException, InfobitSecurityException; 73 74 75 /*** 76 * create new version with textual content. 77 * 78 * @param ib infobit 79 * @param name unique version name ( within given 80 * infobit ) 81 * @param keywords keywords for searching. shall 82 * contain strings 83 * @param text textual content of infobit 84 * @return Description of the Returned Value 85 * @exception InfobitException when some problem occurs 86 * @exception InfobitSecurityException when insufficient permissions. 87 */ 88 Version createText(Infobit ib, String name, String text, Set keywords) throws InfobitException, InfobitSecurityException; 89 90 91 /*** 92 * create binary infobit content 93 * 94 * @param ib infobit 95 * @param name unique version name ( within given 96 * infobit ) 97 * @param stream stream containing binary data 98 * @param mime mime type 99 * @param keywords keywords for searching . shall 100 * contain strings 101 * @return Description of the Returned Value 102 * @exception InfobitException when some problem occurs 103 * @exception InfobitSecurityException when insufficient permissions. 104 */ 105 Version createBinary(Infobit ib, String name, InputStream stream, String mime, Set keywords) throws InfobitException, InfobitSecurityException; 106 107 108 /*** 109 * create binary infobit content 110 * 111 * @param ib infobit 112 * @param name unique version name ( within given 113 * infobit ) 114 * @param data array coontaining binary data 115 * @param mime mime type 116 * @param keywords keywords for searching. shall 117 * contain strings 118 * @return Description of the Returned Value 119 * @exception InfobitException when some problem occurs 120 * @exception InfobitSecurityException when insufficient permissions. 121 */ 122 Version createBinary(Infobit ib, String name, byte[] data, String mime, Set keywords) throws InfobitException, InfobitSecurityException; 123 124 125 /*** 126 * create template for scripts. template does not have any keywords. it does 127 * not need them 128 * 129 * @param ib infobit 130 * @param name unique version name ( within given 131 * infobit ) 132 * @param text template text 133 * @return Description of the Returned Value 134 * @exception InfobitException when some problem occurs 135 * @exception InfobitSecurityException when insufficient permissions. 136 */ 137 Version createTemplate(Infobit ib, String name, String text) throws InfobitException, InfobitSecurityException; 138 139 140 /*** 141 * create script. 142 * 143 * @param ib infobit 144 * @param name unique version name ( within given 145 * infobit ) 146 * @param template template infobit 147 * @param links map of links to be merged with 148 * template. shall be keyed by strings and contain infobits 149 * @param keywords keywords for searching. shall 150 * contain strings 151 * @return Description of the Returned Value 152 * @exception InfobitException Description of Exception 153 * @exception InfobitSecurityException Description of Exception 154 */ 155 Version createScript(Infobit ib, String name, Infobit template, Map links, Set keywords) throws InfobitException, InfobitSecurityException; 156 157 158 /*** 159 * Sets the ActualVersion attribute of the InfobitManager object 160 * 161 * @param ib The new ActualVersion value 162 * @param version The new ActualVersion value 163 * @exception InfobitException Description of Exception 164 * @exception InfobitSecurityException Description of Exception 165 */ 166 void setActualVersion(Infobit ib, Version version) throws InfobitException, InfobitSecurityException; 167 168 169 /*** 170 * stream with data of primitive content ( binary, text or whatever ). 171 * resulting stream is coming out of blob, and shall be used ASAP and in any 172 * case inside the same transaction. Intendet use is to stream this content 173 * out to web client. 174 * 175 * @param content Description of Parameter 176 * @return The Content value 177 * @exception InfobitException Description of Exception 178 * @exception InfobitSecurityException Description of Exception 179 */ 180 InputStream getContent(PrimitiveContent content) throws InfobitException, InfobitSecurityException; 181 182 183 /*** 184 * Gets the size of the content. 185 * 186 * @param content The content the size of which to 187 * query 188 * @return The size of <content> 189 * @exception InfobitException Description of Exception 190 * @exception InfobitSecurityException Description of Exception 191 */ 192 int getContentLength(PrimitiveContent content) 193 throws InfobitException, InfobitSecurityException; 194 195 196 /*** 197 * Primitive content as byte array. Better not to use it for big stuff. 198 * 199 * @param content Description of Parameter 200 * @return The Bytes value 201 * @exception InfobitException Description of Exception 202 * @exception InfobitSecurityException Description of Exception 203 */ 204 byte[] getBytes(PrimitiveContent content) throws InfobitException, InfobitSecurityException; 205 206 207 /*** 208 * primitive content as string. it's not said that this string will be 209 * making sense.... 210 * 211 * @param content Description of Parameter 212 * @return The String value 213 * @exception InfobitException Description of Exception 214 * @exception InfobitSecurityException Description of Exception 215 */ 216 String getString(PrimitiveContent content) throws InfobitException, InfobitSecurityException; 217 218 219 /*** 220 * set attribute value for given infobit. set to null to remove attribute 221 * 222 * @param name The new Attribute value 223 * @param value The new Attribute value 224 * @param infobit The new Attribute value 225 * @exception InfobitException Description of Exception 226 * @exception InfobitSecurityException Description of Exception 227 */ 228 void setAttribute(Infobit infobit, String name, String value) throws InfobitException, InfobitSecurityException; 229 230 231 /*** 232 * set attribute value for given infobit content. set value to null for 233 * removal 234 * 235 * @param name The new Attribute value 236 * @param value The new Attribute value 237 * @param content The new Attribute value 238 * @exception InfobitException Description of Exception 239 * @exception InfobitSecurityException Description of Exception 240 */ 241 void setAttribute(Content content, String name, String value) throws InfobitException, InfobitSecurityException; 242 243 244 /*** 245 * query infobits. supply only where clause 246 * 247 * @param where Description of Parameter 248 * @return The InfobitByAttributes value 249 * @exception InfobitException Description of Exception 250 * @exception InfobitSecurityException Description of Exception 251 */ 252 Collection queryInfobits(String where) throws InfobitException, InfobitSecurityException; 253 254 }

This page was automatically generated by Maven