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 is an object which can be initialized from an XML configuration file (e.g. "buildFile") in which each XML element represents an component object. The Buildable objects are built into a component hierarchy that mirrors the XML structure. Many Buildables in a vassal module are also Configurable, so that their attributes can be configured in the Editor. SEE ALSO: AbstractBuildable, AbstractConfigurable
  • 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