001 package com.croftsoft.core.role.actor; 002 003 /*********************************************************************** 004 * A semantic interface for bootstrapping the exchange of semantic 005 * interfaces between objects. 006 * 007 * <p> 008 * The semantic definition for this interface is available at:<br/> 009 * <a href="http://CroftSoft.com/library/tutorials/roles/"> 010 * http://CroftSoft.com/library/tutorials/roles/</a> 011 * </p> 012 * 013 * <p> 014 * The copyright has been released by the author to the Public Domain. 015 * </p> 016 * 017 * @version 018 * $Id: Actor.java,v 1.3 2007/05/10 02:53:21 croft Exp $ 019 * @since 020 * 1998-04-26 021 * @author 022 * <a href="https://www.croftsoft.com/">David Wallace Croft</a> 023 ***********************************************************************/ 024 025 public interface Actor 026 //////////////////////////////////////////////////////////////////////// 027 //////////////////////////////////////////////////////////////////////// 028 { 029 030 /*********************************************************************** 031 * Returns an array of String representing the names of semantic 032 * interfaces, or "roles", supported by this object. 033 * 034 * <p> 035 * The array may represent just a limited subset from all of the 036 * interfaces that are actually implemented by this object. Which 037 * interfaces are returned are chosen as deemed appropriate by this 038 * object for the current context and may change with each call to 039 * this method. 040 * </p> 041 * 042 * <p> 043 * The ordering of the roles in the array may be determined dynamically 044 * by the object and should be assumed to be listed in the order of 045 * preference, from the viewpoint of this object, for polymorphic 046 * casting of this object by another. The ordering may change with 047 * each call to this method. 048 * </p> 049 * 050 * <p> 051 * May return null. 052 * </p> 053 ***********************************************************************/ 054 public String [ ] getRoles ( ); 055 056 //////////////////////////////////////////////////////////////////////// 057 //////////////////////////////////////////////////////////////////////// 058 }