Business Objects
Quark Platform Documentation
Version 1.7.0_0
Business Objects

org.openquark.gems.client
Class AutoburnLogic

java.lang.Object
  extended by org.openquark.gems.client.AutoburnLogic

public class AutoburnLogic
extends Object

A class that holds all of the autoburn logic that the tabletop uses. This was refactored out from the original version in the TableTop.

Author:
Ken Wong Creation Date: Dec 20th 2002

Nested Class Summary
static class AutoburnLogic.AutoburnInfo
          A helper class to hold the status of a query as to whether a particular connection between gems can be made, including the possibility of various sorts of burning.
static class AutoburnLogic.AutoburnUnifyStatus
          Enum pattern used to summarize how a gem can be connected to another gem, allowing for the possibility of autoburning.
static class AutoburnLogic.BurnCombination
          A helper class to hold information about a single burn combination.
 
Field Summary
static int MAX_BURN_DEPTH
          The maximum burn depth which will be considered.
 
Constructor Summary
AutoburnLogic()
           
 
Method Summary
static AutoburnLogic.AutoburnInfo getAutoburnInfo(TypeExpr destType, GemEntity burnEntity, TypeChecker.TypeCheckInfo info)
          Return whether autoburning will result in a unification.
static AutoburnLogic.AutoburnInfo getAutoburnInfo(TypeExpr destType, Gem gem, TypeChecker.TypeCheckInfo info)
          Return whether autoburning will result in a unification.
static AutoburnLogic.AutoburnInfo getAutoburnInfo(TypeExpr destType, TypeExpr[] sourcePieces, TypeChecker.TypeCheckInfo info)
          Return whether autoburning will result in a unification.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_BURN_DEPTH

public static final int MAX_BURN_DEPTH
The maximum burn depth which will be considered. If there are n possible pieces which can be considered for burning, a burn combination will be considered if the number of burns is (<= MAX_BURN_DEPTH) or (>= (n - MAX_BURN_DEPTH))

See Also:
Constant Field Values
Constructor Detail

AutoburnLogic

public AutoburnLogic()
Method Detail

getAutoburnInfo

public static AutoburnLogic.AutoburnInfo getAutoburnInfo(TypeExpr destType,
                                                         GemEntity burnEntity,
                                                         TypeChecker.TypeCheckInfo info)
Return whether autoburning will result in a unification.

Parameters:
destType - The destination type to unify with
burnEntity - on which to attempt "autoburning"
info - the info to use
Returns:
AutoburnLogic.AutoburnInfo autoburnable result

getAutoburnInfo

public static AutoburnLogic.AutoburnInfo getAutoburnInfo(TypeExpr destType,
                                                         TypeExpr[] sourcePieces,
                                                         TypeChecker.TypeCheckInfo info)
Return whether autoburning will result in a unification.

Parameters:
destType - The destination type to unify with
sourcePieces - the type pieces of the entity on which to attempt "autoburning"
info - the info to use
Returns:
AutoburnLogic.AutoburnInfo autoburnable result

getAutoburnInfo

public static AutoburnLogic.AutoburnInfo getAutoburnInfo(TypeExpr destType,
                                                         Gem gem,
                                                         TypeChecker.TypeCheckInfo info)
Return whether autoburning will result in a unification. Only inputs on the given gem will be considered for burning.

Parameters:
destType - The destination type to unify with.
gem - The gem on which to attempt "autoburning".
info - the typeCheck info to use.
Returns:
AutoburnLogic.AutoburnInfo autoburnable result.

Business Objects
Quark Platform Documentation
Version 1.7.0_0
Business Objects

Copyright © 2007 Business Objects. All rights reserved.