Package VASSAL.build

Interface Buildable

All Known Subinterfaces:
AutoConfigurable, Configurable, Translatable
All Known Implementing Classes:
AboutScreen, AbstractBuildable, AbstractConfigurable, AbstractScript, ActionScript, BasicCommandEncoder, BasicLogger, BasicModule, BasicPreference, Board, BoardPicker, BooleanPreference, BoxWidget, BrowserHelpFile, BrowserHelpFile.ConfigSupport, BshCommandEncoder, BshPlugin, CardSlot, ChangePropertyButton, Chart, ChartWindow, ChatServerControls, Chatter, ColorManager, ColorSwatch, ConnectionWindow, CounterDetailViewer, CounterTurnLevel, DeckGlobalKeyCommand, DiceButton, DieManager, DoActionButton, Documentation, DoublePreference, DrawPile, EnumPreference, EventLog, ExtensionElement, FontManager, FontStyle, ForwardToChatter, ForwardToKeyBuffer, GameModule, GamePieceImage, GamePieceImageDefinitions, GamePieceLayout, GamePieceLayoutsContainer, GeneralScript, GlobalKeyCommand, GlobalMap, GlobalMap.CounterViewer, GlobalOptions, GlobalProperties, GlobalProperty, HandMetrics, HelpFile, HexGrid, HexGridNumbering, HidePiecesButton, HighlightLastMoved, HtmlChart, IconFamily, ImageItem, ImageItemInstance, ImageSaver, IntegerPreference, InternetDiceButton, Inventory, Item, ItemInstance, KeyBufferer, Language, LayerControl, LayeredPieceCollection, ListTurnLevel, ListWidget, Localization, LOS_Thread, Map, MapCenterer, MapShader, MapWidget, MassKeyCommand, MenuDisplayer, ModuleExtension, ModulePlugin, MultiActionButton, NotesWindow, PanelWidget, PieceMover, PieceRecenterer, PieceSlot, PieceWindow, PlayerHand, PlayerRoster, Plugin, PredefinedSetup, PrivateChatter, PrivateMap, PrototypeDefinition, PrototypesContainer, RandomTextButton, Region, RegionGrid, RegularGridNumbering, ScriptContainer, Scroller, SelectionHighlighter, SelectionHighlighters, SetupStack, ShapeItem, ShapeItemInstance, SpecialDiceButton, SpecialDie, SpecialDieFace, SquareGrid, SquareGridNumbering, StackExpander, StackMetrics, StartupGlobalKeyCommand, StringPreference, SymbolItem, SymbolItemInstance, TabWidget, TextBoxItem, TextBoxItemInstance, TextItem, TextItemInstance, TextPreference, TextSaver, ToolbarMenu, TranslatableMarker, Translation, TurnComponent, TurnGlobalHotkey, TurnLevel, TurnTracker, Tutorial, VassalTranslation, Widget, WidgetMap, Zone, ZonedGrid, ZonedGridHighlighter, ZoneHighlight, ZoneProperty, Zoomer

public interface Buildable
A Buildable instance can be initialized from a configuration file. The configuration file is an XML file in which each XML element represents an object. The Buildable objects are built into an containment hierarchy that mirrors the XML structure.
  • Method Details

    • build

      void build​(Element e)
      Build the object
      Parameters:
      e - the XML element containing the object data
    • addTo

      void addTo​(Buildable parent)
      Adds this component to its parent. In order to make Buildable objects extensible, the child is reponsible for adding itself to the parent. That way, Buildable subcomponents can be defined in an extension package without needing to modify the containing class.
    • add

      void add​(Buildable child)
      Adds a child component. Both this method and addTo(VASSAL.build.Buildable) are invoked when adding a child to a parent
    • getBuildElement

      Element getBuildElement​(Document doc)
      Returns:
      an XML element from which this component can be built