diff --git a/.gitattributes b/.gitattributes index 8bd64727cf9..35ad11eb112 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9745,8 +9745,6 @@ src/main/java/forge/card/trigger/Trigger_TurnFaceUp.java svneol=native#text/plai src/main/java/forge/card/trigger/Trigger_Unequip.java svneol=native#text/plain src/main/java/forge/card/trigger/Trigger_Untaps.java svneol=native#text/plain src/main/java/forge/card/trigger/package-info.java svneol=native#text/plain -src/main/java/forge/deck/Deck.java svneol=native#text/plain -src/main/java/forge/deck/DeckManager.java svneol=native#text/plain src/main/java/forge/deck/DownloadDeck.java svneol=native#text/plain src/main/java/forge/deck/generate/Generate2ColorDeck.java svneol=native#text/plain src/main/java/forge/deck/generate/Generate3ColorDeck.java svneol=native#text/plain diff --git a/src/main/java/forge/deck/Deck.java b/src/main/java/forge/deck/Deck.java deleted file mode 100644 index f5bbaf5aaf1..00000000000 --- a/src/main/java/forge/deck/Deck.java +++ /dev/null @@ -1,346 +0,0 @@ -package forge.deck; - -import forge.Constant; -import forge.card.CardDb; -import forge.card.CardPool; -import forge.card.CardPoolView; -import forge.card.CardPrinted; - -import java.io.Serializable; -import java.util.*; - -/** - *
Deck class.
- * - * @author Forge - * @version $Id$ - */ -public final class Deck implements ComparableNAME="Name" */
- public static final String NAME = "Name";
- /** Constant DECK_TYPE="Deck Type" */
- public static final String DECK_TYPE = "Deck Type";
- /** Constant COMMENT="Comment" */
- public static final String COMMENT = "Comment";
- /** Constant DESCRIPTION="Description" */
- public static final String DESCRIPTION = "Description";
- /** Constant DIFFICULTY="Difficulty" */
- public static final String DIFFICULTY = "Difficulty";
-
-
- //gameType is from Constant.GameType, like Constant.GameType.Regular
- /**
- * Constructor for Deck.
- */ - public Deck() { - main = new CardPool(); - sideboard = new CardPool(); - } - - /** - *Constructor for Deck.
- * - * @param deckType a {@link java.lang.String} object. - * @param main a {@link java.util.List} object. - * @param sideboard a {@link java.util.List} object. - * @param name a {@link java.lang.String} object. - */ - public Deck(String deckType, ListConstructor for Deck.
- * - * @param type a {@link java.lang.String} object. - */ - public Deck(final String type) { - this(); - setDeckType(type); - } - - /** - *Getter for the field main.
Getter for the field sideboard.
getDeckType.
- * - * @return a {@link java.lang.String} object. - */ - public String getDeckType() { - return metadata.get(DECK_TYPE); - } - - //can only call this method ONCE - /** - *setDeckType.
- * - * @param deckType a {@link java.lang.String} object. - */ - void setDeckType(String deckType) { - if (this.getDeckType() != null) { - throw new IllegalStateException( - "Deck : setDeckType() error, deck type has already been set"); - } - - if (!Constant.GameType.GameTypes.contains(deckType)) { - throw new RuntimeException( - "Deck : setDeckType() error, invalid deck type - " + deckType); - } - - metadata.put(DECK_TYPE, deckType); - } - - /** - *setName.
- * - * @param s a {@link java.lang.String} object. - */ - public void setName(String s) { - metadata.put(NAME, s); - } - - /** - *getName.
- * - * @return a {@link java.lang.String} object. - */ - public String getName() { - return metadata.get(NAME); - } - - /** - *setComment.
- * - * @param comment a {@link java.lang.String} object. - */ - public void setComment(String comment) { - metadata.put(COMMENT, comment); - } - - /** - *getComment.
- * - * @return a {@link java.lang.String} object. - */ - public String getComment() { - return metadata.get(COMMENT); - - } - - /** - *addMain.
- * - * @param cardName a {@link java.lang.String} object. - */ - public void addMain(final String cardName) { addMain(CardDb.instance().getCard(cardName)); } - public void addMain(final CardPrinted card) { main.add(card); } - public void addMain(final CardPoolView list) { main.addAll(list); } - public void removeMain(final CardPrinted card) { main.remove(card); } - public void removeMain(final CardPrinted card, final int amount) { main.remove(card, amount); } - public int countMain() { return main.countAll(); } - - /** - *addSideboard.
- * - * @param cardName a {@link java.lang.String} object. - */ - public final void addSideboard(final String cardName) { addSideboard(CardDb.instance().getCard(cardName)); } - public final void addSideboard(final CardPrinted card) { sideboard.add(card); } - public final void addSideboard(final CardPrinted card, final int amount) { sideboard.add(card, amount); } - public final void addSideboard(final CardPoolView cards) { sideboard.addAll(cards); } - - /** - *countSideboard.
- * - * @return a int. - */ - public int countSideboard() { - return sideboard.countAll(); - } - - /** - *removeSideboard.
- * - * @param index a int. - * @return a {@link java.lang.String} object. - */ - public void removeFromSideboard(CardPrinted card) { - sideboard.remove(card); - } - - /** - *isDraft.
- * - * @return a boolean. - */ - public boolean isDraft() { - return getDeckType().equals(Constant.GameType.Draft); - } - - /** - *isSealed.
- * - * @return a boolean. - */ - public boolean isSealed() { - return getDeckType().equals(Constant.GameType.Sealed); - } - - /** - *isRegular.
- * - * @return a boolean. - */ - public boolean isRegular() { - return getDeckType().equals(Constant.GameType.Constructed); - } - - /** - *hashCode.
- * - * @return a int. - */ - public int hashCode() { - return getName().hashCode(); - } - - /** {@inheritDoc} */ - @Override - public String toString() { - return getName(); - } - - - // The setters and getters below are for Quest decks - /** - *setDifficulty.
- * - * @param s a {@link java.lang.String} object. - */ - public void setDifficulty(String s) { - metadata.put(DIFFICULTY, s); - } - - /** - *getDifficulty.
- * - * @return a {@link java.lang.String} object. - */ - public String getDifficulty() { - return metadata.get(DIFFICULTY); - } - - /** - *setDescription.
- * - * @param s a {@link java.lang.String} object. - */ - public void setDescription(String s) { - metadata.put(DESCRIPTION, s); - } - - /** - *getDescription.
- * - * @return a {@link java.lang.String} object. - */ - public String getDescription() { - return metadata.get(DESCRIPTION); - } - - /** - *compareTo.
- * - * @param d a {@link forge.deck.Deck} object. - * @return a int. - */ - public int compareTo(Deck d) { - return getName().compareTo(d.getName()); - } - - /** {@inheritDoc} */ - public boolean equals(Object o) { - if (o instanceof Deck) { - Deck d = (Deck) o; - return getName().equals(d.getName()); - } - return false; - } - - /** - *Getter for the field metadata.
Getter for the field metadata.
addMetaData.
- * - * @param key a {@link java.lang.String} object. - * @param value a {@link java.lang.String} object. - */ - public void addMetaData(String key, String value) { - metadata.put(key, value); - } - - public void clearSideboard() { - sideboard.clear(); - } - - public void clearMain() { - main.clear(); - - } - -} diff --git a/src/main/java/forge/deck/DeckManager.java b/src/main/java/forge/deck/DeckManager.java deleted file mode 100644 index fd2de901ca1..00000000000 --- a/src/main/java/forge/deck/DeckManager.java +++ /dev/null @@ -1,487 +0,0 @@ -package forge.deck; - - -import forge.Constant; -import forge.card.CardPrinted; -import forge.error.ErrorViewer; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.apache.commons.lang3.StringUtils; - -import static java.lang.Integer.parseInt; -import static java.lang.String.format; -import static java.util.Arrays.asList; - - -//reads and writeDeck Deck objects -/** - *DeckManager class.
- * - * @author Forge - * @version $Id$ - */ -public class DeckManager { - /** ConstantBDKFileFilter */
- private static FilenameFilter BDKFileFilter = new FilenameFilter() {
- public boolean accept(File dir, String name) {
- return name.endsWith(".bdk");
- }
- };
-
- /** Constant DCKFileFilter */
- private static FilenameFilter DCKFileFilter = new FilenameFilter() {
- public boolean accept(File dir, String name) {
- return name.endsWith(".dck");
- }
- };
-
-
- private File deckDir;
- MapConstructor for DeckManager.
- * - * @param deckDir a {@link java.io.File} object. - */ - public DeckManager(File deckDir) { - if (deckDir == null) { - throw new IllegalArgumentException("No deck directory specified"); - } - try { - this.deckDir = deckDir; - - if (deckDir.isFile()) { - throw new IOException("Not a directory"); - } else { - deckDir.mkdirs(); - if (!deckDir.isDirectory()) { - throw new IOException("Directory can't be created"); - } - this.deckMap = new HashMapisUnique.
- * - * @param deckName a {@link java.lang.String} object. - * @return a boolean. - */ - public boolean isUnique(String deckName) { - return !deckMap.containsKey(deckName); - } - - /** - *isUniqueDraft.
- * - * @param deckName a {@link java.lang.String} object. - * @return a boolean. - */ - public boolean isUniqueDraft(String deckName) { - return !draftMap.keySet().contains(deckName); - } - - /** - *getDeck.
- * - * @param deckName a {@link java.lang.String} object. - * @return a {@link forge.deck.Deck} object. - */ - public Deck getDeck(String deckName) { - return deckMap.get(deckName); - } - - - /** - *addDeck.
- * - * @param deck a {@link forge.deck.Deck} object. - */ - public void addDeck(Deck deck) { - if (deck.getDeckType().equals(Constant.GameType.Draft)) { - throw new RuntimeException( - "DeckManager : addDeck() error, deck type is Draft"); - } - - deckMap.put(deck.getName(), deck); - } - - /** - *deleteDeck.
- * - * @param deckName a {@link java.lang.String} object. - */ - public void deleteDeck(String deckName) { - deckMap.remove(deckName); - } - - /** - *getDraftDeck.
- * - * @param deckName a {@link java.lang.String} object. - * @return an array of {@link forge.deck.Deck} objects. - */ - public Deck[] getDraftDeck(String deckName) { - if (!draftMap.containsKey(deckName)) { - throw new RuntimeException( - "DeckManager : getDraftDeck() error, deck name not found - " + deckName); - } - - return draftMap.get(deckName); - } - - /** - *addDraftDeck.
- * - * @param deck an array of {@link forge.deck.Deck} objects. - */ - public void addDraftDeck(Deck[] deck) { - checkDraftDeck(deck); - - draftMap.put(deck[0].toString(), deck); - } - - /** - *deleteDraftDeck.
- * - * @param deckName a {@link java.lang.String} object. - */ - public void deleteDraftDeck(String deckName) { - if (!draftMap.containsKey(deckName)) { - throw new RuntimeException( - "DeckManager : deleteDraftDeck() error, deck name not found - " + deckName); - } - - draftMap.remove(deckName); - } - - /** - *checkDraftDeck.
- * - * @param deck an array of {@link forge.deck.Deck} objects. - */ - private void checkDraftDeck(Deck[] deck) { - if (deck == null || deck.length != 8 || deck[0].getName().equals("") - || (!deck[0].getDeckType().equals(Constant.GameType.Draft))) { - throw new RuntimeException("DeckManager : checkDraftDeck() error, invalid deck"); - } - } - - - /** - *getDecks.
- * - * @return a {@link java.util.Collection} object. - */ - public CollectiongetDraftDecks.
- * - * @return a {@link java.util.Map} object. - */ - public Mapclose.
- */ - public void close() { - writeAllDecks(); - } - - - /** - *readAllDecks.
- */ - public void readAllDecks() { - deckMap.clear(); - draftMap.clear(); - - File[] files; - - files = deckDir.listFiles(DCKFileFilter); - for (File file : files) { - Deck newDeck = readDeck(file); - deckMap.put(newDeck.getName(), newDeck); - } - - files = deckDir.listFiles(BDKFileFilter); - for (File file : files) { - Deck[] d = new Deck[8]; - - for (int i = 0; i < d.length; i++) { - d[i] = readDeck(new File(file, i + ".dck")); - } - - draftMap.put(d[0].getName(), d); - } - } - - /** - *readDeck.
- * - * @param deckFile a {@link java.io.File} object. - * @return a {@link forge.deck.Deck} object. - */ - public static Deck readDeck(File deckFile) { - - ListreadDeckOld.
- * - * @param iterator a {@link java.util.ListIterator} object. - * @return a {@link forge.deck.Deck} object. - */ - private static Deck readDeckOld(ListIteratoraddCardList.
- * - * @param lineIterator a {@link java.util.ListIterator} object. - * @param d a {@link forge.deck.Deck} object. - */ - private static void addCardList(ListIteratorderiveFileName.
- * - * @param deckName a {@link java.lang.String} object. - * @return a {@link java.lang.String} object. - */ - private String deriveFileName(String deckName) { - //skips all but the listed characters - return deckName.replaceAll("[^-_$#@.{[()]} a-zA-Z0-9]", ""); - } - - /** - *writeAllDecks.
- */ - public void writeAllDecks() { - try { - //store the files that do exist - ListwriteDeck.
- * - * @param d a {@link forge.deck.Deck} object. - * @param out a {@link java.io.BufferedWriter} object. - * @throws java.io.IOException if any. - */ - private static void writeDeck(Deck d, BufferedWriter out) throws IOException { - out.write("[metadata]\n"); - - for (Entrycount.
- * - * @param src a {@link java.util.List} object. - * @return a {@link java.util.Map} object. - */ - private static MapwriteDeck.
- * - * @param d a {@link forge.deck.Deck} object. - * @param f a {@link java.io.File} object. - */ - public static void writeDeck(Deck d, File f) { - try { - BufferedWriter writer = new BufferedWriter(new FileWriter(f)); - writeDeck(d, writer); - - writer.close(); - } catch (IOException e) { - throw new RuntimeException(e); - } - - } - -}