From: <cpm...@us...> - 2011-02-26 10:32:36
|
Revision: 14630 http://pcgen.svn.sourceforge.net/pcgen/?rev=14630&view=rev Author: cpmeister Date: 2011-02-26 10:32:28 +0000 (Sat, 26 Feb 2011) Log Message: ----------- First pass of step 2 of merge process Issue #:CODE-525 Added Paths: ----------- sandbox/uisync/code/src/java/pcgen/core/facade/AbilityCategoryFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/AbilityFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/AlignmentFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/BodyStructureFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/CampaignFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/CharacterFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/CharacterLevelFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/CharacterLevelsFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/ClassFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/DataSetFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/DefaultReferenceFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/DeityFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/DomainFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/EquipmentFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/EquipmentListFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/EquipmentSetFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/GameModeFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/GenderFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/InfoFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/InfoFactory.java sandbox/uisync/code/src/java/pcgen/core/facade/ItemFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/KitFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/LanguageChooserFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/LanguageFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/LoadableFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/RaceFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/ReferenceFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/SimpleFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/SizeFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/SkillFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/SourceSelectionFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/SpellFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/StatFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/TempBonusFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/TemplateFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/TodoFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/UIDelegate.java sandbox/uisync/code/src/java/pcgen/core/facade/event/ListEvent.java sandbox/uisync/code/src/java/pcgen/core/facade/event/ListListener.java sandbox/uisync/code/src/java/pcgen/core/facade/event/ReferenceEvent.java sandbox/uisync/code/src/java/pcgen/core/facade/event/ReferenceListener.java sandbox/uisync/code/src/java/pcgen/core/facade/generator/PurchaseMethodFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/generator/RollMethodFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/generator/StatGenerationFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/util/AbstractListFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/util/DefaultListFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/util/DelegatingListFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/util/ListFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/util/ListFacades.java sandbox/uisync/code/src/java/pcgen/core/facade/util/MultiDelegatingListFacade.java sandbox/uisync/code/src/java/pcgen/core/facade/util/SortedListFacade.java sandbox/uisync/code/src/java/pcgen/gui2/PcgFileFilter.java sandbox/uisync/code/src/java/pcgen/gui2/PcpFileFilter.java sandbox/uisync/code/src/java/pcgen/gui2/SplashScreen.java sandbox/uisync/code/src/java/pcgen/gui2/UIPropertyContext.java sandbox/uisync/code/src/java/pcgen/gui2/dialog/CharacterHPDialog.java sandbox/uisync/code/src/java/pcgen/gui2/dialog/LanguageChooserDialog.java sandbox/uisync/code/src/java/pcgen/gui2/dialog/OptionsPathDialog.java sandbox/uisync/code/src/java/pcgen/gui2/filter2/ sandbox/uisync/code/src/java/pcgen/gui2/filter2/DisplayableFilter.java sandbox/uisync/code/src/java/pcgen/gui2/filter2/Filter.java sandbox/uisync/code/src/java/pcgen/gui2/filter2/FilterBar.java sandbox/uisync/code/src/java/pcgen/gui2/filter2/FilterButton.java sandbox/uisync/code/src/java/pcgen/gui2/filter2/FilterButtonGroupPanel.java sandbox/uisync/code/src/java/pcgen/gui2/filter2/FilterHandler.java sandbox/uisync/code/src/java/pcgen/gui2/filter2/FilterUtilities.java sandbox/uisync/code/src/java/pcgen/gui2/filter2/FilteredListFacade.java sandbox/uisync/code/src/java/pcgen/gui2/filter2/FilteredListFacadeTableModel.java sandbox/uisync/code/src/java/pcgen/gui2/filter2/FilteredTreeViewModel.java sandbox/uisync/code/src/java/pcgen/gui2/filter2/FilteredTreeViewTable.java sandbox/uisync/code/src/java/pcgen/gui2/filter2/SearchFilterPanel.java sandbox/uisync/code/src/java/pcgen/gui2/tools/ sandbox/uisync/code/src/java/pcgen/gui2/tools/BrowserLauncher.java sandbox/uisync/code/src/java/pcgen/gui2/tools/CharacterComboBoxModel.java sandbox/uisync/code/src/java/pcgen/gui2/tools/CharacterSelectionListener.java sandbox/uisync/code/src/java/pcgen/gui2/tools/ChooserPane.java sandbox/uisync/code/src/java/pcgen/gui2/tools/FlippingSplitPane.java sandbox/uisync/code/src/java/pcgen/gui2/tools/Hyperactive.java sandbox/uisync/code/src/java/pcgen/gui2/tools/Icons.java sandbox/uisync/code/src/java/pcgen/gui2/tools/InfoPane.java sandbox/uisync/code/src/java/pcgen/gui2/tools/PCGenAction.java sandbox/uisync/code/src/java/pcgen/gui2/tools/SpinningTabbedPane.java sandbox/uisync/code/src/java/pcgen/gui2/tools/Utilities.java sandbox/uisync/code/src/java/pcgen/gui2/tools/Utility.java sandbox/uisync/code/src/java/pcgen/gui2/util/AbstractListMenu.java sandbox/uisync/code/src/java/pcgen/gui2/util/AbstractRadioListMenu.java sandbox/uisync/code/src/java/pcgen/gui2/util/ComboSelectionBox.java sandbox/uisync/code/src/java/pcgen/gui2/util/ComboSelectionDialog.java sandbox/uisync/code/src/java/pcgen/gui2/util/FacadeComboBoxModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/FacadeListModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/GridBoxLayout.java sandbox/uisync/code/src/java/pcgen/gui2/util/HtmlInfoBuilder.java sandbox/uisync/code/src/java/pcgen/gui2/util/JCheckBoxTreeViewPane.java sandbox/uisync/code/src/java/pcgen/gui2/util/JComboBoxEx.java sandbox/uisync/code/src/java/pcgen/gui2/util/JDynamicTable.java sandbox/uisync/code/src/java/pcgen/gui2/util/JLabelPane.java sandbox/uisync/code/src/java/pcgen/gui2/util/JTableEx.java sandbox/uisync/code/src/java/pcgen/gui2/util/JTablePane.java sandbox/uisync/code/src/java/pcgen/gui2/util/JTableSortingHeader.java sandbox/uisync/code/src/java/pcgen/gui2/util/JTreeTable.java sandbox/uisync/code/src/java/pcgen/gui2/util/JTreeTablePane.java sandbox/uisync/code/src/java/pcgen/gui2/util/JTreeViewPane.java sandbox/uisync/code/src/java/pcgen/gui2/util/JTreeViewSelectionPane.java sandbox/uisync/code/src/java/pcgen/gui2/util/JTreeViewTable.java sandbox/uisync/code/src/java/pcgen/gui2/util/MultiLineTextIcon.java sandbox/uisync/code/src/java/pcgen/gui2/util/SharedTabPane.java sandbox/uisync/code/src/java/pcgen/gui2/util/SignIcon.java sandbox/uisync/code/src/java/pcgen/gui2/util/SimpleTextIcon.java sandbox/uisync/code/src/java/pcgen/gui2/util/SortMode.java sandbox/uisync/code/src/java/pcgen/gui2/util/SortableModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/SortedListModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/SortingPriority.java sandbox/uisync/code/src/java/pcgen/gui2/util/SwingWorker.java sandbox/uisync/code/src/java/pcgen/gui2/util/TitledSeparator.java sandbox/uisync/code/src/java/pcgen/gui2/util/ToolBarUtilities.java sandbox/uisync/code/src/java/pcgen/gui2/util/WholeNumberField.java sandbox/uisync/code/src/java/pcgen/gui2/util/event/ sandbox/uisync/code/src/java/pcgen/gui2/util/event/DocumentChangeAdapter.java sandbox/uisync/code/src/java/pcgen/gui2/util/event/DynamicTableColumnModelListener.java sandbox/uisync/code/src/java/pcgen/gui2/util/event/GenericListDataEvent.java sandbox/uisync/code/src/java/pcgen/gui2/util/event/GenericListDataListener.java sandbox/uisync/code/src/java/pcgen/gui2/util/event/ListDataAdapter.java sandbox/uisync/code/src/java/pcgen/gui2/util/event/PopupMouseAdapter.java sandbox/uisync/code/src/java/pcgen/gui2/util/table/ sandbox/uisync/code/src/java/pcgen/gui2/util/table/DefaultDynamicTableColumnModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/table/DefaultSortableTableModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/table/DynamicTableColumnModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/table/IntegerEditor.java sandbox/uisync/code/src/java/pcgen/gui2/util/table/SortableTableModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/table/TableCellUtilities.java sandbox/uisync/code/src/java/pcgen/gui2/util/table/TableUtils.java sandbox/uisync/code/src/java/pcgen/gui2/util/treetable/ sandbox/uisync/code/src/java/pcgen/gui2/util/treetable/AbstractTreeTableModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/treetable/DefaultSortableTreeTableModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/treetable/DefaultSortableTreeTableNode.java sandbox/uisync/code/src/java/pcgen/gui2/util/treetable/DefaultTreeTableModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/treetable/DefaultTreeTableNode.java sandbox/uisync/code/src/java/pcgen/gui2/util/treetable/SortableTreeTableModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/treetable/SortableTreeTableNode.java sandbox/uisync/code/src/java/pcgen/gui2/util/treetable/TreeTableModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/treetable/TreeTableNode.java sandbox/uisync/code/src/java/pcgen/gui2/util/treeview/ sandbox/uisync/code/src/java/pcgen/gui2/util/treeview/DataView.java sandbox/uisync/code/src/java/pcgen/gui2/util/treeview/DataViewColumn.java sandbox/uisync/code/src/java/pcgen/gui2/util/treeview/DefaultDataViewColumn.java sandbox/uisync/code/src/java/pcgen/gui2/util/treeview/TreeView.java sandbox/uisync/code/src/java/pcgen/gui2/util/treeview/TreeViewModel.java sandbox/uisync/code/src/java/pcgen/gui2/util/treeview/TreeViewModelWrapper.java sandbox/uisync/code/src/java/pcgen/gui2/util/treeview/TreeViewPath.java sandbox/uisync/code/src/java/pcgen/gui2/util/treeview/TreeViewTableModel.java sandbox/uisync/code/src/java/pcgen/system/ConfigurationSettings.java sandbox/uisync/code/src/java/pcgen/system/PCGenSettings.java sandbox/uisync/code/src/java/pcgen/system/PCGenTask.java sandbox/uisync/code/src/java/pcgen/system/PCGenTaskEvent.java sandbox/uisync/code/src/java/pcgen/system/PCGenTaskExecutor.java sandbox/uisync/code/src/java/pcgen/system/PCGenTaskListener.java sandbox/uisync/code/src/java/pcgen/system/PluginClassLoader.java sandbox/uisync/code/src/java/pcgen/system/PluginLoader.java sandbox/uisync/code/src/java/pcgen/system/PropertyContext.java sandbox/uisync/code/src/java/pcgen/system/PropertyContextFactory.java sandbox/uisync/code/src/java/pcgen/util/AbstractCollectionMap.java sandbox/uisync/code/src/java/pcgen/util/AbstractListMap.java sandbox/uisync/code/src/java/pcgen/util/CollectionMap.java sandbox/uisync/code/src/java/pcgen/util/CollectionMaps.java sandbox/uisync/code/src/java/pcgen/util/Comparators.java sandbox/uisync/code/src/java/pcgen/util/ListMap.java Added: sandbox/uisync/code/src/java/pcgen/core/facade/AbilityCategoryFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/AbilityCategoryFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/AbilityCategoryFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,49 @@ +/* + * AbilityCategoryFacade.java + * Copyright 2008 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Jun 30, 2008, 5:01:57 PM + */ +package pcgen.core.facade; + + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface AbilityCategoryFacade +{ + + /** + * + * @return "Feats", "Class Abilities", or "Salient Divine Ability" + */ + public String getType(); + + /** + * + * @return the singular name of the Catagory + */ + public String getName(); + + /** + * + * @return the plural name of the Catagory + */ + public String toString(); + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/AbilityFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/AbilityFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/AbilityFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,40 @@ +/* + * AbilityFacade.java + * Copyright 2008 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Jun 30, 2008, 12:16:54 AM + */ +package pcgen.core.facade; + +import java.util.List; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface AbilityFacade extends InfoFacade +{ + + public List<String> getTypes(); + + public boolean isMult(); + + public boolean isStackable(); + + public String getDescription(); + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/AlignmentFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/AlignmentFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/AlignmentFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,36 @@ +/* + * AlignmentFacade.java + * Copyright 2009 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Jan 18, 2009, 8:42:46 PM + */ +package pcgen.core.facade; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface AlignmentFacade +{ + + public String getName(); + + public String getAbbreviation(); + + public String toString(); + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/BodyStructureFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/BodyStructureFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/BodyStructureFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,30 @@ +/* + * BodyStructureFacade.java + * Copyright 2010 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Jul 21, 2010, 10:53:18 PM + */ + +package pcgen.core.facade; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface BodyStructureFacade { + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/CampaignFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/CampaignFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/CampaignFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,46 @@ +/* + * CampaignFacade.java + * Copyright 2010 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Apr 7, 2010, 2:38:05 PM + */ +package pcgen.core.facade; + +import pcgen.core.facade.util.ListFacade; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface CampaignFacade +{ + + public boolean showInMenu(); + + public ListFacade<GameModeFacade> getGameModes(); + + public String getName(); + + public String getPublisher(); + + public String getFormat(); + + public String getSetting(); + + public String getInfo(); + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/CharacterFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/CharacterFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/CharacterFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,517 @@ +/* + * CharacterFacade.java + * Copyright 2008 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Jun 12, 2008, 8:27:12 PM + */ +package pcgen.core.facade; + +import java.io.BufferedWriter; +import java.io.File; + +import javax.swing.undo.UndoManager; + +import pcgen.cdom.enumeration.SkillCost; +import pcgen.core.facade.util.ListFacade; +import pcgen.io.ExportHandler; + +/** + * The CharacterFacade interface provides a key role in separation + * of the core and the UI layers. The UI can only operate on this + * interface the core provides the implementation. This class + * is heavily event driven, ie, any changes that occur to the + * model will result to an event being fired that a listener + * can pick up on. To operate like this, all values returned + * from this class, with a couple of exceptions, are models that can + * be listenered to. Two of the most commonly used models are + * the <code>ReferenceFacade</code> and the <code>ListFacade</code> + * <br> + * Note: This facade returns references to items of interest. + * These allow not only the values to be retrieved but also + * interested parties to register as listeners for changes to the valiues. + * @see pcgen.core.facade.util.ListFacade + * @see ReferenceFacade + * @author Connor Petty <cpm...@us...> + */ +public interface CharacterFacade +{ + + public InfoFactory getInfoFactory(); + + public UndoManager getUndoManager(); + + public ReferenceFacade<GenderFacade> getGenderRef(); + + public void setAlignment(AlignmentFacade alignment); + + public ReferenceFacade<AlignmentFacade> getAlignmentRef(); + + public void setGender(GenderFacade gender); + + public void setGender(String gender); + + /** + * @param stat The stat to retrieve the base for + * @return A reference to the base score for the stat + */ + public ReferenceFacade<Integer> getScoreBaseRef(StatFacade stat); + + /** + * @param stat The stat to retrieve the mod total for + * @return The modifier for the stat total + */ + public int getModTotal(StatFacade stat); + + /** + * @param stat The stat to retrieve the base score of + * @return The base (user set) score for the stat + */ + public int getScoreBase(StatFacade stat); + + /** + * Update the base score of the stat. + * @param stat The stat to be set. + * @param score The new base score. + */ + public void setScoreBase(StatFacade stat, int score); + + /** + * Retrieve the display string for the score total. This may be a + * non-number if the stat is a non-ability (e.g. ghost constitution) + * or if the game mode has named stat values (see the STATROLLTEXT + * game mode token). + * + * @param stat The stat to be retrieved + * @return The display string for the score total + */ + public String getScoreTotalString(StatFacade stat); + + /** + * @param stat The stat to retrieve the racial bonus of. + * @return The racial bonus to the stat score. + */ + public int getScoreRaceBonus(StatFacade stat); + + /** + * Retrieve the bonus to the stat score from sources other than the + * character's race. e.g. templates, abilities. Also called the misc bonus. + * @param stat The stat to retrieve the other bonus of. + * @return The misc bonus to the stat score + */ + public int getScoreOtherBonus(StatFacade stat); + + public void addAbility(AbilityCategoryFacade category, + AbilityFacade ability); + + public void removeAbility(AbilityCategoryFacade category, + AbilityFacade ability); + + public boolean hasAbility(AbilityCategoryFacade category, + AbilityFacade ability); + + /** + * Note: This method should never return null. If the character does not possess + * any abilities in the parameter category, this method should create a new + * DefaultGenericListModel for that category and keep a reference to it for future use. + * @param category + * @return a List of Abilities the character posseses in the specified category + */ + public ListFacade<AbilityFacade> getAbilities(AbilityCategoryFacade category); + + /** + * + * @return + * @deprecated + */ + public ListFacade<CharacterLevelFacade> getLevels(); + + public void addCharacterLevels(ClassFacade[] classes); + + public void removeCharacterLevels(int levels); + + public int getClassLevel(ClassFacade c); + + public int getRemainingSelections(AbilityCategoryFacade category); + + public void setRemainingSelection(AbilityCategoryFacade category, + int remaining); + + /** + * + * @return + * @deprecated + */ + public int getSkillTotal(SkillFacade skill, CharacterLevelFacade level); + + /** + * + * @return + * @deprecated + */ + public int getSkillModifier(SkillFacade skill, CharacterLevelFacade level); + + /** + * + * @return + * @deprecated + */ + public float getSkillRanks(SkillFacade skill, CharacterLevelFacade level); + + /** + * + * @return + * @deprecated + */ + public float getMaxRanks(SkillCost cost, CharacterLevelFacade level); + + public ListFacade<EquipmentSetFacade> getEquipmentSets(); + + public ReferenceFacade<EquipmentSetFacade> getEquipmentSetRef(); + + public void setEquipmentSet(EquipmentSetFacade set); + + public EquipmentListFacade getPurchasedEquipment(); + + public void addPurchasedEquipment(EquipmentFacade equipment, int quantity); + + public void removePurchasedEquipment(EquipmentFacade equipment, int quantity); + + //public int getQuantity(EquipmentFacade equipment); + public boolean isQualifiedFor(EquipmentFacade equipment); + + /** + * Create an equipment item sized for the character. Will return an existing + * item if a suitable one already exists, including the passed in item if it + * is already the correct size ir if the item is not the type of item that + * can be resized. + * + * @param equipment The equipment item to be resized. + * @return The item at the correct size. + */ + public EquipmentFacade getEquipmentSizedForCharacter(EquipmentFacade equipment); + + public EquipmentSetFacade createEquipmentSet(String name); + + public void deleteEquipmentSet(EquipmentSetFacade set); + + public boolean isQualifiedFor(ClassFacade c); + + public boolean isAutomatic(LanguageFacade language); + + public void addTemplate(TemplateFacade template); + + public void removeTemplate(TemplateFacade template); + + public ListFacade<TemplateFacade> getTemplates(); + //public boolean isBonus(LanguageFacade language); + + /** + * Note: this returns both the bonuses that the character + * has applied as well as the ones that haven't been applied. + * @return a list of bonuses than the character can apply + */ + public ListFacade<TempBonusFacade> getAvailableTempBonuses(); + + /** + * adds a temp bonus to the character + * @param bonus the bonus to add + */ + public void addTempBonus(TempBonusFacade bonus); + + /** + * removes a bonus from the character + * @param bonus the bonus to remove + */ + public void removeTempBonus(TempBonusFacade bonus); + + /** + * + * @return a list of bonuses that have been added to the character + */ + public ListFacade<TempBonusFacade> getTempBonuses(); + + /** + * This returns a DataSetFacade that contains all + * of the sources that this character was loaded with. + * The returned DataSetFacade can be used to browse all + * of the other facades available for this character. + * @return the DataSetFacade for this character + */ + public DataSetFacade getDataSet(); + + /** + * @return a reference to this character's Race + */ + public ReferenceFacade<RaceFacade> getRaceRef(); + + /** + * Sets this character's race + * @param race + */ + public void setRace(RaceFacade race); + + /** + * @return a reference to this character's tab name + */ + public ReferenceFacade<String> getTabNameRef(); + + /** + * @param name the text to displayed in the character's tab + */ + public void setTabName(String name); + + /** + * @return a reference to this character's name + */ + public ReferenceFacade<String> getNameRef(); + + /** + * Sets this character's name + * @param name the name of the character + */ + public void setName(String name); + + /** + * @return a reference to this character's player's name + */ + public ReferenceFacade<String> getPlayersNameRef(); + + /** + * @param name The name of the player + */ + public void setPlayersName(String name); + + /** + * @return a reference to this character's handedness string + */ + public ReferenceFacade<SimpleFacade> getHandedRef(); + + /** + * @param handedness The new handedness string for the character + */ + public void setHanded(SimpleFacade handedness); + + /** + * @see setFile(File) + * @return a reference to the character's file + */ + public ReferenceFacade<File> getFileRef(); + + /** + * Sets the file that this character will be saved to. + * @see getFileRef() + * @param file the File to associate with this character + */ + public void setFile(File file); + + public ReferenceFacade<DeityFacade> getDeityRef(); + + public void setDeity(DeityFacade deity); + + /** + * @return The domains that the character knows + */ + public ListFacade<DomainFacade> getDomains(); + + /** + * Add a domain to the list of those the character knows. + * @param domain The domain to add. + */ + public void addDomain(DomainFacade domain); + + /** + * Remove a domain from the list of those the character knows. + * @param domain The domain to remove. + */ + public void removeDomain(DomainFacade domain); + + /** + * @return The maximum number of domains the character can know. + */ + public ReferenceFacade<Integer> getMaxDomains(); + + public ReferenceFacade<Integer> getRemainingDomainSelectionsRef(); + + /** + * @return The domains which the character has access to. + */ + public ListFacade<DomainFacade> getAvailableDomains(); + + public ListFacade<LanguageFacade> getLanguages(); +// +// public void setBonusLanguages(List<LanguageFacade> languages); +// +// public void setSkillLanguages(List<LanguageFacade> language); + + public ListFacade<LanguageChooserFacade> getLanguageChoosers(); +// +// /** +// * @return The number of bonus languages the character has remaining to be selected +// */ +// public ReferenceFacade<Integer> getNumBonusLanguagesOutstanding(); +// +// /** +// * @return The number of languages from skills that the character has remaining to be selected +// */ +// public ReferenceFacade<Integer> getNumSkillLanguagesOutstanding(); +// +// /** +// * @return The list of valid selections for bonus languages for this character. +// */ +// public List<LanguageFacade> getAvailBonusLangages(); +// +// public List<LanguageFacade> getCurrBonusLangages(); + + /** + * Write the character details, as defined by the export handler to the writer. + * + * @param theHandler The ExportHandler that defines how the output will be formatted. + * @param buf The writer the character details are to be output to. + */ + public void export(ExportHandler theHandler, BufferedWriter buf); + + /** + * gets the UIDelegate that this character uses to display messages + * and choosers + * @return the UIDelegate that this character uses + */ + public UIDelegate getUIDelegate(); + + /** + * @return The facade for character levels for this character. + */ + public CharacterLevelsFacade getCharacterLevelsFacade(); + + /** + * Set the character's current experience point value + * @param xp The new XP value to be set + */ + public void setXP(final int xp); + + /** + * @return a reference to this character's current experience point value + */ + public ReferenceFacade<Integer> getXPRef(); + + /** + * Adjust the character's current experience point value + * @param xp The value to be added to the character's current experience point value + */ + public void adjustXP(final int xp); + + /** + * @return A reference to the XP total that will qualify the character for the next level + */ + public ReferenceFacade<Integer> getXPForNextLevelRef(); + + /** + * Set the character's age in years. + * @param age The new age to be set. + */ + public void setAge(final int age); + + /** + * @return A reference to the age of the character + */ + public ReferenceFacade<Integer> getAgeRef(); + + /** + * @return A list of the defined age categories. + */ + public ListFacade<SimpleFacade> getAgeCategories(); + + /** + * Set the character's age category. Will also reset their age if the age category + * has changed. + * @param ageCat The new age category to be set + */ + public void setAgeCategory(final SimpleFacade ageCat); + + /** + * @return A reference to the age category of the character. + */ + public ReferenceFacade<SimpleFacade> getAgeCategoryRef(); + + /** + * @return A reference to the label text for the character's stats total + */ + public ReferenceFacade<String> getStatTotalLabelTextRef(); + + /** + * @return A reference to the text for the character's stats total + */ + public ReferenceFacade<String> getStatTotalTextRef(); + + /** + * @return A list of things to be done for the character + */ + public ListFacade<TodoFacade> getTodoList(); + + /** + * Roll a new set of ability scores for the character. + */ + public void rollStats(); + + /** + * @return true If the current stat generation method supports randomly rolling stats. + */ + public boolean isStatRollEnabled(); + + public ReferenceFacade<Integer> getTotalHPRef(); + + public ReferenceFacade<String> getCarriedWeightRef(); + + public ReferenceFacade<String> getLoadRef(); + + public ReferenceFacade<String> getWeightLimitRef(); + + /** + * @return A reference to the stat roll method for the character + */ + public ReferenceFacade<Integer> getRollMethodRef(); + + /** + * Notify that the roll method may have changed. + */ + public void refreshRollMethod(); + + /** + * Check if the character meets all requirements to be of the onject. + * @param infoFacade The object to be checked. + * @return True if the character qualifies for the object, false if not. + */ + public boolean isQualifiedFor(InfoFacade infoFacade); + + /** + * Check if the character meets all requirements to take the domain. + * @param domain The domain to be checked. + * @return True if the character can take the domain, false if not. + */ + public boolean isQualifiedFor(DomainFacade domain); + + public void addCharacterChangeListener(CharacterChangeListener listener); + + public void removeCharacterChangeListener(CharacterChangeListener listener); + + public static interface CharacterChangeListener + { + + public void characterChanged(); + + } + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/CharacterLevelFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/CharacterLevelFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/CharacterLevelFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,32 @@ +/* + * CharacterLevelFacade.java + * Copyright 2008 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Jul 18, 2008, 3:17:57 PM + */ +package pcgen.core.facade; + + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface CharacterLevelFacade +{ + + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/CharacterLevelsFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/CharacterLevelsFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/CharacterLevelsFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,145 @@ +/* + * CharacterLevelsFacade.java + * Copyright 2010 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on May 31, 2010, 4:33:45 PM + */ +package pcgen.core.facade; + +import java.util.EventListener; +import java.util.EventObject; +import pcgen.cdom.enumeration.SkillCost; +import pcgen.core.facade.util.ListFacade; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface CharacterLevelsFacade extends ListFacade<CharacterLevelFacade> +{ + + /** + * This method handles adding and removing skill points to the character's + * skills. This methods takes into acount the skill cost and spendable skill + * points and will call appropriate message dialogs when an inappropriate + * action is called. + * @param level the level to add these skill points to + * @param skill the skill to invest points in + * @param points the amount of points to invest + * @return true if the points were successfuly invested + */ + public boolean investSkillPoints(CharacterLevelFacade level, SkillFacade skill, int points); + + public ClassFacade getClassTaken(CharacterLevelFacade level); + + public SkillCost getSkillCost(CharacterLevelFacade level, SkillFacade skill); + + public int getRankCost(CharacterLevelFacade level, SkillCost cost); + + public int getGainedSkillPoints(CharacterLevelFacade level); + + public void setGainedSkillPoints(CharacterLevelFacade level, int points); + + public int getSpentSkillPoints(CharacterLevelFacade level); + + public int getHPGained(CharacterLevelFacade level); + + public int getHPRolled(CharacterLevelFacade level); + + public void setHPRolled(CharacterLevelFacade level, int hp); + + public int getSkillTotal(CharacterLevelFacade level, SkillFacade skill); + + public int getSkillModifier(CharacterLevelFacade level, SkillFacade skill); + + public float getSkillRanks(CharacterLevelFacade level, SkillFacade skill); + + public float getMaxRanks(CharacterLevelFacade level, SkillCost cost); + + void addClassListener(ClassListener listener); + + void removeClassListener(ClassListener listener); + + void addHitPointListener(HitPointListener listener); + + void removeHitPointListener(HitPointListener listener); + + void addSkillBonusListener(SkillBonusListener listener); + + void removeSkillBonusListener(SkillBonusListener listener); + + void addSkillPointListener(SkillPointListener listener); + + void removeSkillPointListener(SkillPointListener listener); + + public static interface ClassListener extends EventListener + { + + void classChanged(CharacterLevelEvent e); + + } + + public static interface HitPointListener extends EventListener + { + + void hitPointsChanged(CharacterLevelEvent e); + + } + + public static interface SkillBonusListener extends EventListener + { + + void skillBonusChanged(CharacterLevelEvent e); + + } + + public static interface SkillPointListener extends EventListener + { + + void skillPointsChanged(CharacterLevelEvent e); + + } + + public static class CharacterLevelEvent extends EventObject + { + + private int baseLevel; + private boolean stacks; + + public CharacterLevelEvent(Object source, int baseLevel, boolean stacks) + { + super(source); + this.baseLevel = baseLevel; + this.stacks = stacks; + } + + public int getBaseLevelIndex() + { + return baseLevel; + } + + /** + * @return whether this event affects values at higher levels + */ + public boolean affectsHigherLevels() + { + return stacks; + } + + } + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/ClassFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/ClassFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/ClassFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,40 @@ +/* + * ClassFacade.java + * Copyright 2008 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Jun 27, 2008, 3:22:49 PM + */ +package pcgen.core.facade; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface ClassFacade extends InfoFacade +{ + + public String[] getTypes(); + + public String getHD(); + + public String getSpellType(); + + public String getBaseStat(); + + public String getAbbrev(); + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/DataSetFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/DataSetFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/DataSetFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,63 @@ +/* + * DataSetFacade.java + * Copyright 2008 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Aug 19, 2008, 3:31:30 PM + */ +package pcgen.core.facade; + +import pcgen.core.facade.generator.StatGenerationFacade; +import pcgen.core.facade.util.ListFacade; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface DataSetFacade +{ + + public ListFacade<AbilityFacade> getAbilities(AbilityCategoryFacade category); + + public ListFacade<AbilityCategoryFacade> getAbilityCategories(); + + public ListFacade<SkillFacade> getSkills(); + + public ListFacade<RaceFacade> getRaces(); + + public ListFacade<ClassFacade> getClasses(); + + public ListFacade<DeityFacade> getDeities(); + + public ListFacade<TemplateFacade> getTemplates(); + + public ListFacade<CampaignFacade> getCampaigns(); + + public GameModeFacade getGameMode(); + + public ListFacade<AlignmentFacade> getAlignments(); + + public ListFacade<StatFacade> getStats(); + + public ListFacade<StatGenerationFacade> getStatGenerators(); + + public SkillFacade getSpeakLanguageSkill(); + + public ListFacade<EquipmentFacade> getEquipment(); + + public ListFacade<BodyStructureFacade> getEquipmentLocations(); + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/DefaultReferenceFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/DefaultReferenceFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/DefaultReferenceFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,91 @@ +/* + * DefaultReferenceFacade.java + * Copyright 2010 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Apr 25, 2010, 3:28:19 PM + */ +package pcgen.core.facade; + +import javax.swing.event.EventListenerList; +import org.apache.commons.lang.ObjectUtils; +import pcgen.core.facade.event.ReferenceEvent; +import pcgen.core.facade.event.ReferenceListener; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public class DefaultReferenceFacade<E> implements ReferenceFacade<E> +{ + + protected EventListenerList listenerList = new EventListenerList(); + private E object; + + public DefaultReferenceFacade() + { + this(null); + } + + public DefaultReferenceFacade(E object) + { + this.object = object; + } + + public void addReferenceListener(ReferenceListener<? super E> listener) + { + listenerList.add(ReferenceListener.class, listener); + } + + public void removeReferenceListener(ReferenceListener<? super E> listener) + { + listenerList.remove(ReferenceListener.class, listener); + } + + public E getReference() + { + return object; + } + + public void setReference(E object) + { + if (ObjectUtils.equals(this.object, object)) + { + return; + } + E old = this.object; + this.object = object; + fireReferenceChangedEvent(this, old, object); + } + + protected void fireReferenceChangedEvent(Object source, E old, E newer) + { + Object[] listeners = listenerList.getListenerList(); + ReferenceEvent<E> e = null; + for (int i = listeners.length - 2; i >= 0; i -= 2) + { + if (listeners[i] == ReferenceListener.class) + { + if (e == null) + { + e = new ReferenceEvent<E>(source, old, newer); + } + ((ReferenceListener) listeners[i + 1]).referenceChanged(e); + } + } + } + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/DeityFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/DeityFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/DeityFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,36 @@ +/* + * DeityFacade.java + * Copyright 2010 (C) Connor + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Mar 23, 2010, 11:20:18 PM + */ +package pcgen.core.facade; + +import pcgen.core.facade.util.ListFacade; + +/** + * + * @author Connor + */ +public interface DeityFacade extends InfoFacade +{ + + ListFacade<DomainFacade> getDomains(); + + AlignmentFacade getAlignment(); + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/DomainFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/DomainFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/DomainFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,30 @@ +/* + * DomainFacade.java + * Copyright 2011 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Jan 17, 2011, 11:00:47 AM + */ + +package pcgen.core.facade; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface DomainFacade extends InfoFacade{ + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/EquipmentFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/EquipmentFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/EquipmentFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,43 @@ +/* + * EquipmentFacade.java + * Copyright 2009 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Apr 4, 2009, 6:07:39 PM + */ +package pcgen.core.facade; + +import java.io.File; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface EquipmentFacade extends InfoFacade +{ + + String[] getTypes(); + + /** + * Retrieve the icon for this ewuipment icon. This may be directly set for + * the item, or it may be for one of the item's types. The types are + * checked from right to left. + * + * @return The icon for this equipment item, or null if none + */ + File getIcon(); + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/EquipmentListFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/EquipmentListFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/EquipmentListFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,75 @@ +/* + * EquipmentListFacade.java + * Copyright 2011 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Jan 22, 2011, 12:01:45 AM + */ +package pcgen.core.facade; + +import java.util.EventListener; +import java.util.EventObject; +import pcgen.core.facade.util.ListFacade; + +/** + * + * @author Connor Petty <cpm...@us...> + */ +public interface EquipmentListFacade extends ListFacade<EquipmentFacade> +{ + public int getQuantity(EquipmentFacade equipment); + + public void addEquipmentListListener(EquipmentListListener listener); + + public void removeEquipmentListListener(EquipmentListListener listener); + + public static interface EquipmentListListener extends EventListener + { + + /* + * This method should not be called when a piece of equipment is added or removed from + * the list. + */ + void quantityChanged(EquipmentListEvent e); + + } + + public static class EquipmentListEvent extends EventObject + { + + private EquipmentFacade equipment; + private final int index; + + public EquipmentListEvent(Object source, EquipmentFacade equipment, int index) + { + super(source); + this.equipment = equipment; + this.index = index; + } + + public EquipmentFacade getEquipment() + { + return equipment; + } + + public int getIndex() + { + return index; + } + + } + +} Added: sandbox/uisync/code/src/java/pcgen/core/facade/EquipmentSetFacade.java =================================================================== --- sandbox/uisync/code/src/java/pcgen/core/facade/EquipmentSetFacade.java (rev 0) +++ sandbox/uisync/code/src/java/pcgen/core/facade/EquipmentSetFacade.java 2011-02-26 10:32:28 UTC (rev 14630) @@ -0,0 +1,146 @@ +/* + * EquipmentSetFacade.java + * Copyright 2008 Connor Petty <cpm...@us...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Aug 18, 2008, 2:00:52 PM + */ +package pcgen.core.facade; + +import java.util.Arrays; +import java.util.EventListener; +import java.util.EventObject; +import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang.ObjectUtils; +import pcgen.core.facade.util.ListFacade; + +/** + * <code>EquipmentSetFacade</code>defines the interface layer between the UI + * and the pcgen core for managing how equipment is worn or placed (t.e. + * equipped). There can be multiple instance of this facade per character, + * each representing a configuration of equipped gear (e.g. dungeon, boat, + * camp). + * + * <br/> + * Last Editor: $Author: $ + * Last Edited: $Date: $ + * + * @author Connor Petty <cpm...@us...> + * @version $Revision: $ + */ +public interface EquipmentSetFacade +{ + + public boolean isContainer(EquipmentFacade equipment); + + /** + * This list contains the equipment currently equipped and how many of them + * are equipped. The quantity for each item in the list reflects the number + * of such items that are equipped on the character as a whole, meaning that + * even if that item is equipped in multiple places on the character the + * list should show a value in quantity that is the sum of these locations + * and quantities at these locations. + * + * @return The list of equipped items. + */ + public EquipmentListFacade getEquippedItems(); + + public void addEquipment(EquipNode node, EquipmentFacade equipment, int quantity); + + public void removeEquipment(EquipNode node, int quantity); + + public void removeAllEquipment(); + + public ListFacade<EquipNode> getNodes(); + + public int getQuantity(EquipNode node); + + public String getLocation(EquipNode node); + + /** + * This method test whether a piece of equipment can be equipped + * at a particular equipment path. This is not meant to check whether + * the character fulfills the prerequisites of this item, but just + * simply if equipping of this item would violate equipment slot limitations + * or if the item is suited to be put in this path. The method must also take + * into account that some containers accept only certain equipment + * (ie. crossbows only accept bolts) + * @param node the node to the container + * @param equipment the equipment that we want to check + * @return true if the equipment can be placed in the location. + */ + public boolean canEquip(EquipNode node, EquipmentFacade equipment); + + public ReferenceFacade<String> getNameRef(); + + public void setName(String name); + + public void addEquipmentTreeListener(EquipmentTreeListener listener); + + public void removeEquipmentTreeListener(EquipmentTreeListener listener); + + /** + * Identify the preferred location to place the item + * @param equipment The item to be checked + * @return The name of the location + */ + public String getPreferredLoc(EquipmentFacade equipment); + + public static interface EquipmentTreeListener extends EventListener + { + + public void quantityChanged(EquipmentTreeEvent e); + + } + + public static class EquipmentTreeEvent extends EventObject + { + + private EquipNode node; + + public EquipmentTreeEvent(Object source, EquipNode node) + { + super(source); + this.node = node; + } + + public EquipNode getNode() + { + return node; + } + + } + + public static interface EquipNode extends Comparable<EquipNode> + { + + public enum Node... [truncated message content] |