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 }