1 10 11 package org.mmbase.datatypes; 12 13 import java.util.*; 14 import java.io.Serializable ; 15 16 import org.mmbase.bridge.*; 17 import org.mmbase.datatypes.processors.*; 18 import org.mmbase.bridge.util.Queries; 19 import org.mmbase.storage.search.*; 20 import org.mmbase.core.util.Fields; 21 import org.mmbase.core.AbstractDescriptor; 22 import org.mmbase.datatypes.DataTypes; 23 import org.mmbase.util.*; 24 import org.mmbase.util.logging.*; 25 26 43 44 public interface DataType extends Descriptor, Cloneable , Comparable , Serializable { 45 46 49 public static final String XMLNS = org.mmbase.datatypes.util.xml.DataTypeReader.NAMESPACE_DATATYPES_1_0; 50 51 static final int PROCESS_GET = 1; 53 static final int PROCESS_SET = 2; 54 55 61 static final int ENFORCE_ABSOLUTE = Integer.MAX_VALUE; 62 63 66 static final int ENFORCE_ALWAYS = 100000; 67 68 71 static final int ENFORCE_ONCHANGE = 10000; 72 73 76 static final int ENFORCE_ONCREATE = 1000; 77 78 82 static final int ENFORCE_NEVER = 0; 83 84 87 public static final Collection VALID = Collections.EMPTY_LIST; 88 89 92 public void inherit(BasicDataType origin); 93 94 97 public DataType getOrigin(); 98 99 102 public String getBaseTypeIdentifier(); 103 104 110 public int getBaseType(); 111 112 116 public Class getTypeAsClass(); 117 118 124 public void checkType(Object value); 125 126 135 public Object cast(Object value, Node node, Field field); 136 137 148 public Object preCast(Object value, Node node, Field field); 149 150 154 public Object getDefaultValue(); 155 156 159 public void setDefaultValue(Object def); 160 161 164 public DataType rewrite(Object owner); 165 166 169 public boolean isFinished(); 170 171 174 public void finish(Object owner); 175 176 177 182 public Collection validate(Object value); 183 184 193 public Collection validate(Object value, Node node, Field field); 194 195 203 public boolean isRequired(); 204 205 209 public DataType.Restriction getRequiredRestriction(); 210 211 216 public void setRequired(boolean required); 217 218 227 public boolean isUnique(); 228 229 233 public DataType.Restriction getUniqueRestriction(); 234 235 240 public void setUnique(boolean unique); 241 242 256 public Iterator getEnumerationValues(Locale locale, Cloud cloud, Node node, Field field); 257 258 268 public Object getEnumerationValue(Locale locale, Cloud cloud, Node node, Field field, Object key); 269 270 274 public LocalizedEntryListFactory getEnumerationFactory(); 275 276 279 public DataType.Restriction getEnumerationRestriction(); 280 281 284 public CommitProcessor getCommitProcessor(); 285 286 289 public void setCommitProcessor(CommitProcessor cp); 290 291 296 public Processor getProcessor(int action); 297 298 303 public Processor getProcessor(int action, int processingType); 304 305 309 public void setProcessor(int action, Processor processor); 310 311 316 public void setProcessor(int action, Processor processor, int processingType); 317 318 323 public Object clone(); 324 325 330 public Object clone(String name); 331 332 333 337 public org.w3c.dom.Element toXml(); 338 339 345 public void toXml(org.w3c.dom.Element element); 346 347 350 public interface Restriction extends Serializable { 351 352 355 public String getName(); 356 357 361 public Serializable getValue(); 362 363 366 public void setValue(Serializable value); 367 368 373 public LocalizedString getErrorDescription(); 374 375 378 public void setErrorDescription(LocalizedString errorDescription); 379 380 389 public boolean valid(Object value, Node node, Field field); 390 391 394 public void setFixed(boolean fixed); 395 396 399 public int getEnforceStrength(); 400 401 404 public void setEnforceStrength(int v); 405 406 } 407 408 } 409 | Popular Tags |