package edu.vt.marian.common; import java.io.*; import java.net.*; import java.util.*; /** * An Analyzable Digital Information Object is a DigInfObj with important aspects * that can be presented as attribute-value pairs. Any DigInfObj * with associated metadata, for instance, fills this bill. *

* This model of a document with attributes is new in v.2.1, * and while we break it in, I've designed two approaches to * getting the same data. The first uses two calls: one * to report on the attributes available, and the other to * get a value for a particular attribute. *

* The other approach consists of a single * presentAttributes() method. presentAttributes() returns a set of * attribute-value pairs for use in explicating the object to a user, * e.g. with an Envision visualization. Each object in the Vector * returned is itself a two-element Vector made up of first the name of * the attribute as a String and second the value as an Object. All * objects in any class implementing this interface should return the * same class of Objects for any given attribute. We then expect clients * to use 'instanceof' to determine whether those values are (e.g.) * Integers, Doubles or Strings. * * @author Robert France. */ public interface AnalyzableDigInfObj extends DigInfObj { public Vector attributes(); public Object presentAttribute(int attrID, int markupType); public Vector presentAttributes(int markupType); }