mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
show information for non-card items in spell shop card details panel
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||
package forge.card;
|
package forge.card;
|
||||||
|
|
||||||
import com.google.common.base.Function;
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
|
|
||||||
import forge.item.CardPrinted;
|
import forge.item.CardPrinted;
|
||||||
@@ -8,44 +7,15 @@ import forge.item.IPaperCard;
|
|||||||
import forge.util.FileSection;
|
import forge.util.FileSection;
|
||||||
import forge.util.storage.StorageReaderFile;
|
import forge.util.storage.StorageReaderFile;
|
||||||
|
|
||||||
|
public class BoosterData extends PackData {
|
||||||
/**
|
|
||||||
* The Class BoosterData.
|
|
||||||
*/
|
|
||||||
public class BoosterData {
|
|
||||||
private final String edition;
|
|
||||||
public final String getEdition() {
|
|
||||||
return edition;
|
|
||||||
}
|
|
||||||
private final String landEdition;
|
|
||||||
public final String getLandEdition() {
|
|
||||||
return landEdition;
|
|
||||||
}
|
|
||||||
|
|
||||||
private final int nCommon;
|
private final int nCommon;
|
||||||
private final int nUncommon;
|
private final int nUncommon;
|
||||||
private final int nRare;
|
private final int nRare;
|
||||||
private final int nSpecial;
|
private final int nSpecial;
|
||||||
private final int nDoubleFaced;
|
private final int nDoubleFaced;
|
||||||
private final int nLand;
|
|
||||||
private final int foilRate;
|
private final int foilRate;
|
||||||
private static final int CARDS_PER_BOOSTER = 15;
|
private static final int CARDS_PER_BOOSTER = 15;
|
||||||
|
|
||||||
// private final String landCode;
|
|
||||||
/**
|
|
||||||
* Instantiates a new booster data.
|
|
||||||
*
|
|
||||||
* @param nC
|
|
||||||
* the n c
|
|
||||||
* @param nU
|
|
||||||
* the n u
|
|
||||||
* @param nR
|
|
||||||
* the n r
|
|
||||||
* @param nS
|
|
||||||
* the n s
|
|
||||||
* @param nDF
|
|
||||||
* the n df
|
|
||||||
*/
|
|
||||||
public BoosterData(final String edition, final String editionLand, final int nC, final int nU, final int nR, final int nS, final int nDF) {
|
public BoosterData(final String edition, final String editionLand, final int nC, final int nU, final int nR, final int nS, final int nDF) {
|
||||||
// if this booster has more that 10 cards, there must be a land in
|
// if this booster has more that 10 cards, there must be a land in
|
||||||
// 15th slot unless it's already taken
|
// 15th slot unless it's already taken
|
||||||
@@ -53,132 +23,116 @@ public class BoosterData {
|
|||||||
- nS - nDF : 0, 68);
|
- nS - nDF : 0, 68);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates a new booster data.
|
|
||||||
*
|
|
||||||
* @param nC
|
|
||||||
* the n c
|
|
||||||
* @param nU
|
|
||||||
* the n u
|
|
||||||
* @param nR
|
|
||||||
* the n r
|
|
||||||
* @param nS
|
|
||||||
* the n s
|
|
||||||
* @param nDF
|
|
||||||
* the n df
|
|
||||||
* @param nL
|
|
||||||
* the n l
|
|
||||||
* @param oneFoilPer
|
|
||||||
* the one foil per
|
|
||||||
*/
|
|
||||||
public BoosterData(final String edition0, final String editionLand, final int nC, final int nU, final int nR, final int nS, final int nDF, final int nL,
|
public BoosterData(final String edition0, final String editionLand, final int nC, final int nU, final int nR, final int nS, final int nDF, final int nL,
|
||||||
final int oneFoilPer) {
|
final int oneFoilPer) {
|
||||||
|
super(edition0, editionLand, nL > 0 ? nL : 0);
|
||||||
this.nCommon = nC;
|
this.nCommon = nC;
|
||||||
this.nUncommon = nU;
|
this.nUncommon = nU;
|
||||||
this.nRare = nR;
|
this.nRare = nR;
|
||||||
this.nSpecial = nS;
|
this.nSpecial = nS;
|
||||||
this.nDoubleFaced = nDF;
|
this.nDoubleFaced = nDF;
|
||||||
this.nLand = nL > 0 ? nL : 0;
|
|
||||||
this.foilRate = oneFoilPer;
|
this.foilRate = oneFoilPer;
|
||||||
this.edition = edition0;
|
|
||||||
this.landEdition = editionLand;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the common.
|
|
||||||
*
|
|
||||||
* @return the common
|
|
||||||
*/
|
|
||||||
public final int getCommon() {
|
public final int getCommon() {
|
||||||
return this.nCommon;
|
return this.nCommon;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final Predicate<CardPrinted> getEditionFilter() {
|
public final Predicate<CardPrinted> getEditionFilter() {
|
||||||
return IPaperCard.Predicates.printedInSets(edition);
|
return IPaperCard.Predicates.printedInSets(getEdition());
|
||||||
}
|
}
|
||||||
public final Predicate<CardPrinted> getLandEditionFilter() {
|
public final Predicate<CardPrinted> getLandEditionFilter() {
|
||||||
return IPaperCard.Predicates.printedInSets(landEdition);
|
return IPaperCard.Predicates.printedInSets(getLandEdition());
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* Gets the uncommon.
|
|
||||||
*
|
|
||||||
* @return the uncommon
|
|
||||||
*/
|
|
||||||
public final int getUncommon() {
|
public final int getUncommon() {
|
||||||
return this.nUncommon;
|
return this.nUncommon;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the rare.
|
|
||||||
*
|
|
||||||
* @return the rare
|
|
||||||
*/
|
|
||||||
public final int getRare() {
|
public final int getRare() {
|
||||||
return this.nRare;
|
return this.nRare;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the special.
|
|
||||||
*
|
|
||||||
* @return the special
|
|
||||||
*/
|
|
||||||
public final int getSpecial() {
|
public final int getSpecial() {
|
||||||
return this.nSpecial;
|
return this.nSpecial;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the double faced.
|
|
||||||
*
|
|
||||||
* @return the double faced
|
|
||||||
*/
|
|
||||||
public final int getDoubleFaced() {
|
public final int getDoubleFaced() {
|
||||||
return this.nDoubleFaced;
|
return this.nDoubleFaced;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the land.
|
|
||||||
*
|
|
||||||
* @return the land
|
|
||||||
*/
|
|
||||||
public final int getLand() {
|
|
||||||
return this.nLand;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the total.
|
|
||||||
*
|
|
||||||
* @return the total
|
|
||||||
*/
|
|
||||||
public final int getTotal() {
|
public final int getTotal() {
|
||||||
return this.nCommon + this.nUncommon + this.nRare + this.nSpecial + this.nDoubleFaced + this.nLand;
|
return this.nCommon + this.nUncommon + this.nRare + this.nSpecial + this.nDoubleFaced + getCntLands();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the foil chance.
|
|
||||||
*
|
|
||||||
* @return the foil chance
|
|
||||||
*/
|
|
||||||
public final int getFoilChance() {
|
public final int getFoilChance() {
|
||||||
return this.foilRate;
|
return this.foilRate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Function<BoosterData, String> FN_GET_CODE = new Function<BoosterData, String>() {
|
private void _append(StringBuilder s, int val, String name) {
|
||||||
|
if (0 >= val) {
|
||||||
@Override
|
return;
|
||||||
public String apply(BoosterData arg1) {
|
|
||||||
return arg1.edition;
|
|
||||||
}
|
}
|
||||||
};
|
s.append(val).append(' ').append(name);
|
||||||
|
if (1 < val) {
|
||||||
|
s.append('s');
|
||||||
|
}
|
||||||
|
s.append(", ");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
int total = getTotal();
|
||||||
|
|
||||||
|
if (0 >= total) {
|
||||||
|
return "no cards";
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder s = new StringBuilder();
|
||||||
|
|
||||||
|
_append(s, total, "card");
|
||||||
|
if (0 < total) {
|
||||||
|
// remove comma
|
||||||
|
s.deleteCharAt(s.length() - 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
s.append("consisting of ");
|
||||||
|
_append(s, nSpecial, "special");
|
||||||
|
_append(s, nDoubleFaced, "double faced card");
|
||||||
|
_append(s, nRare, "rare");
|
||||||
|
_append(s, nUncommon, "uncommon");
|
||||||
|
_append(s, nCommon, "common");
|
||||||
|
if (getEdition().equalsIgnoreCase(getLandEdition())) {
|
||||||
|
_append(s, getCntLands(), "land");
|
||||||
|
} else if (0 < getCntLands()) {
|
||||||
|
s.append(getCntLands()).append("land");
|
||||||
|
if (1 < getCntLands()) {
|
||||||
|
s.append("s");
|
||||||
|
}
|
||||||
|
s.append("from edition: ").append(getLandEdition()).append(", ");
|
||||||
|
}
|
||||||
|
|
||||||
|
// trim the last comma and space
|
||||||
|
s.replace(s.length() - 2, s.length(), "");
|
||||||
|
|
||||||
|
// put an 'and' before the previous comma
|
||||||
|
int lastCommaIdx = s.lastIndexOf(",");
|
||||||
|
if (0 < lastCommaIdx) {
|
||||||
|
s.replace(lastCommaIdx+1, lastCommaIdx+1, " and");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (0 < foilRate) {
|
||||||
|
s.append(", with a foil rate of 1 in ").append(foilRate);
|
||||||
|
}
|
||||||
|
|
||||||
|
return s.toString();
|
||||||
|
}
|
||||||
|
|
||||||
public static final class Reader extends StorageReaderFile<BoosterData> {
|
public static final class Reader extends StorageReaderFile<BoosterData> {
|
||||||
|
|
||||||
public Reader(String pathname) {
|
public Reader(String pathname) {
|
||||||
super(pathname, BoosterData.FN_GET_CODE);
|
super(pathname, BoosterData.FN_GET_CODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see forge.util.StorageReaderFile#read(java.lang.String)
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected BoosterData read(String line, int i) {
|
protected BoosterData read(String line, int i) {
|
||||||
final FileSection section = FileSection.parse(line, ":", "|");
|
final FileSection section = FileSection.parse(line, ":", "|");
|
||||||
@@ -194,6 +148,7 @@ public class BoosterData {
|
|||||||
if (editionLand == null) {
|
if (editionLand == null) {
|
||||||
editionLand = edition;
|
editionLand = edition;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new BoosterData(edition, editionLand, nC, nU, nR, nS, nDf, nLand, nFoilRate);
|
return new BoosterData(edition, editionLand, nC, nU, nR, nS, nDf, nLand, nFoilRate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -213,7 +213,7 @@ public class BoosterGenerator {
|
|||||||
*/
|
*/
|
||||||
public final List<CardPrinted> getBoosterPack(BoosterData booster) {
|
public final List<CardPrinted> getBoosterPack(BoosterData booster) {
|
||||||
return this.getBoosterPack(booster.getCommon(), booster.getUncommon(), booster.getRare(), 0, 0, booster.getSpecial(),
|
return this.getBoosterPack(booster.getCommon(), booster.getUncommon(), booster.getRare(), 0, 0, booster.getSpecial(),
|
||||||
booster.getDoubleFaced(), 0, booster.getLand());
|
booster.getDoubleFaced(), 0, booster.getCntLands());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
package forge.card;
|
package forge.card;
|
||||||
|
|
||||||
import com.google.common.base.Function;
|
|
||||||
|
|
||||||
import forge.util.FileSection;
|
import forge.util.FileSection;
|
||||||
import forge.util.storage.StorageReaderFile;
|
import forge.util.storage.StorageReaderFile;
|
||||||
|
|
||||||
@@ -9,53 +7,23 @@ import forge.util.storage.StorageReaderFile;
|
|||||||
* TODO: Write javadoc for this type.
|
* TODO: Write javadoc for this type.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class FatPackData {
|
public class FatPackData extends PackData {
|
||||||
private final String edition;
|
private final int cntBoosters;
|
||||||
public final String getEdition() {
|
|
||||||
return edition;
|
|
||||||
}
|
|
||||||
|
|
||||||
private final String landsEdition;
|
|
||||||
public final String getLandsEdition() {
|
|
||||||
return landsEdition == null ? edition : landsEdition;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getCntBoosters() {
|
public int getCntBoosters() {
|
||||||
return cntBoosters;
|
return cntBoosters;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getCntLands() {
|
public FatPackData(String edition0, String landEdition0, int nBoosters, int nBasicLands)
|
||||||
return cntLands;
|
|
||||||
}
|
|
||||||
|
|
||||||
private final int cntBoosters;
|
|
||||||
private final int cntLands;
|
|
||||||
|
|
||||||
public FatPackData(String edition0, String landsEdition0, int nBoosters, int nBasicLands)
|
|
||||||
{
|
{
|
||||||
|
super(edition0, landEdition0, nBasicLands);
|
||||||
cntBoosters = nBoosters;
|
cntBoosters = nBoosters;
|
||||||
cntLands = nBasicLands;
|
|
||||||
edition = edition0;
|
|
||||||
landsEdition = landsEdition0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Function<FatPackData, String> FN_GET_CODE = new Function<FatPackData, String>() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String apply(FatPackData arg1) {
|
|
||||||
return arg1.edition;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final class Reader extends StorageReaderFile<FatPackData> {
|
public static final class Reader extends StorageReaderFile<FatPackData> {
|
||||||
|
|
||||||
public Reader(String pathname) {
|
public Reader(String pathname) {
|
||||||
super(pathname, FatPackData.FN_GET_CODE);
|
super(pathname, PackData.FN_GET_CODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see forge.util.StorageReaderFile#read(java.lang.String)
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected FatPackData read(String line, int i) {
|
protected FatPackData read(String line, int i) {
|
||||||
final FileSection section = FileSection.parse(line, ":", "|");
|
final FileSection section = FileSection.parse(line, ":", "|");
|
||||||
@@ -64,4 +32,34 @@ public class FatPackData {
|
|||||||
return new FatPackData(section.get("Set"), section.get("LandSet"), nBoosters, nLand);
|
return new FatPackData(section.get("Set"), section.get("LandSet"), nBoosters, nLand);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
if (0 >= cntBoosters) {
|
||||||
|
return "no cards";
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder s = new StringBuilder();
|
||||||
|
|
||||||
|
if (0 < getCntLands()) {
|
||||||
|
s.append(getCntLands()).append(" land");
|
||||||
|
if (1 < getCntLands()) {
|
||||||
|
s.append("s");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!getEdition().equalsIgnoreCase(getLandEdition())) {
|
||||||
|
s.append(" from edition: ").append(getLandEdition());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (0 < cntBoosters) {
|
||||||
|
s.append(" and ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (0 < cntBoosters) {
|
||||||
|
s.append(cntBoosters).append(" booster packs, each containing ");
|
||||||
|
}
|
||||||
|
|
||||||
|
return s.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
52
src/main/java/forge/card/PackData.java
Normal file
52
src/main/java/forge/card/PackData.java
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
* Forge: Play Magic: the Gathering.
|
||||||
|
* Copyright (C) 2011 Forge Team
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program 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 General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package forge.card;
|
||||||
|
|
||||||
|
import com.google.common.base.Function;
|
||||||
|
|
||||||
|
public class PackData {
|
||||||
|
private final String edition;
|
||||||
|
public final String getEdition() {
|
||||||
|
return edition;
|
||||||
|
}
|
||||||
|
|
||||||
|
private final String landEdition;
|
||||||
|
public final String getLandEdition() {
|
||||||
|
return landEdition == null ? edition : landEdition;
|
||||||
|
}
|
||||||
|
|
||||||
|
private final int cntLands;
|
||||||
|
public int getCntLands() {
|
||||||
|
return cntLands;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PackData(String edition0, String landEdition0, int nBasicLands)
|
||||||
|
{
|
||||||
|
edition = edition0;
|
||||||
|
landEdition = landEdition0;
|
||||||
|
cntLands = nBasicLands;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final Function<? super PackData, String> FN_GET_CODE = new Function<PackData, String>() {
|
||||||
|
@Override
|
||||||
|
public String apply(PackData arg1) {
|
||||||
|
return arg1.edition;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -33,6 +33,8 @@ import javax.swing.SwingUtilities;
|
|||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import javax.swing.border.EtchedBorder;
|
import javax.swing.border.EtchedBorder;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.CounterType;
|
import forge.CounterType;
|
||||||
import forge.GameEntity;
|
import forge.GameEntity;
|
||||||
@@ -45,6 +47,7 @@ import forge.gui.toolbox.FPanel;
|
|||||||
import forge.gui.toolbox.FScrollPane;
|
import forge.gui.toolbox.FScrollPane;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
import forge.gui.toolbox.FTextArea;
|
import forge.gui.toolbox.FTextArea;
|
||||||
|
import forge.item.InventoryItemFromSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The class CardDetailPanel. Shows the details of a card.
|
* The class CardDetailPanel. Shows the details of a card.
|
||||||
@@ -66,18 +69,11 @@ public class CardDetailPanel extends FPanel {
|
|||||||
private final FTextArea cdArea;
|
private final FTextArea cdArea;
|
||||||
private final FScrollPane scrArea;
|
private final FScrollPane scrArea;
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* Constructor for CardDetailPanel.
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @param card
|
|
||||||
* a {@link forge.Card} object.
|
|
||||||
*/
|
|
||||||
public CardDetailPanel(final Card card) {
|
public CardDetailPanel(final Card card) {
|
||||||
super();
|
super();
|
||||||
this.setLayout(new GridBagLayout());
|
this.setLayout(new GridBagLayout());
|
||||||
this.setBorder(new EtchedBorder());
|
this.setBorder(new EtchedBorder());
|
||||||
|
this.setBorderToggle(false);
|
||||||
|
|
||||||
GridBagConstraints labelConstrains = new GridBagConstraints();
|
GridBagConstraints labelConstrains = new GridBagConstraints();
|
||||||
labelConstrains.fill = GridBagConstraints.BOTH;
|
labelConstrains.fill = GridBagConstraints.BOTH;
|
||||||
@@ -126,6 +122,9 @@ public class CardDetailPanel extends FPanel {
|
|||||||
|
|
||||||
//4, 12
|
//4, 12
|
||||||
this.cdArea = new FTextArea();
|
this.cdArea = new FTextArea();
|
||||||
|
this.cdArea.setFont(new java.awt.Font("Dialog", 0, 14));
|
||||||
|
this.cdArea.setBorder(new EmptyBorder(4, 4, 4, 4));
|
||||||
|
this.cdArea.setOpaque(false);
|
||||||
this.scrArea = new FScrollPane(this.cdArea);
|
this.scrArea = new FScrollPane(this.cdArea);
|
||||||
|
|
||||||
GridBagConstraints areaConstraints = new GridBagConstraints();
|
GridBagConstraints areaConstraints = new GridBagConstraints();
|
||||||
@@ -135,10 +134,6 @@ public class CardDetailPanel extends FPanel {
|
|||||||
areaConstraints.weightx = 1.0;
|
areaConstraints.weightx = 1.0;
|
||||||
areaConstraints.weighty = 1.0;
|
areaConstraints.weighty = 1.0;
|
||||||
this.add(scrArea, areaConstraints);
|
this.add(scrArea, areaConstraints);
|
||||||
this.cdArea.setLineWrap(true);
|
|
||||||
this.cdArea.setWrapStyleWord(true);
|
|
||||||
this.cdArea.setEditable(false);
|
|
||||||
this.cdArea.setBorder(new EmptyBorder(4, 4, 4, 4));
|
|
||||||
|
|
||||||
this.nameCostLabel.setFont(new java.awt.Font("Dialog", 0, 14));
|
this.nameCostLabel.setFont(new java.awt.Font("Dialog", 0, 14));
|
||||||
this.typeLabel.setFont(new java.awt.Font("Dialog", 0, 14));
|
this.typeLabel.setFont(new java.awt.Font("Dialog", 0, 14));
|
||||||
@@ -149,15 +144,49 @@ public class CardDetailPanel extends FPanel {
|
|||||||
f = f.deriveFont(java.awt.Font.BOLD);
|
f = f.deriveFont(java.awt.Font.BOLD);
|
||||||
this.setInfoLabel.setFont(f);
|
this.setInfoLabel.setFont(f);
|
||||||
|
|
||||||
this.cdArea.setFont(new java.awt.Font("Dialog", 0, 14));
|
|
||||||
|
|
||||||
this.setCard(card);
|
this.setCard(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final void setItem(InventoryItemFromSet item) {
|
||||||
|
nameCostLabel.setText(item.getName());
|
||||||
|
typeLabel.setVisible(false);
|
||||||
|
powerToughnessLabel.setVisible(false);
|
||||||
|
idLabel.setText(null);
|
||||||
|
cdArea.setText(item.getDescription());
|
||||||
|
setBorder(GuiDisplayUtil.getBorder(null));
|
||||||
|
|
||||||
|
String set = item.getEdition();
|
||||||
|
setInfoLabel.setText(set);
|
||||||
|
setInfoLabel.setToolTipText("");
|
||||||
|
if (StringUtils.isEmpty(set)) {
|
||||||
|
setInfoLabel.setOpaque(false);
|
||||||
|
setInfoLabel.setBorder(null);
|
||||||
|
} else {
|
||||||
|
CardEdition edition = Singletons.getModel().getEditions().get(set);
|
||||||
|
if (null != edition) {
|
||||||
|
setInfoLabel.setToolTipText(edition.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
this.setInfoLabel.setOpaque(true);
|
||||||
|
this.setInfoLabel.setBackground(Color.BLACK);
|
||||||
|
this.setInfoLabel.setForeground(Color.WHITE);
|
||||||
|
this.setInfoLabel.setBorder(BorderFactory.createLineBorder(Color.WHITE));
|
||||||
|
}
|
||||||
|
|
||||||
|
SwingUtilities.invokeLater(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
scrArea.getVerticalScrollBar().setValue(scrArea.getVerticalScrollBar().getMinimum());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
public final void setCard(final Card card) {
|
public final void setCard(final Card card) {
|
||||||
this.nameCostLabel.setText("");
|
this.nameCostLabel.setText("");
|
||||||
|
this.typeLabel.setVisible(true);
|
||||||
this.typeLabel.setText("");
|
this.typeLabel.setText("");
|
||||||
|
this.powerToughnessLabel.setVisible(true);
|
||||||
this.powerToughnessLabel.setText("");
|
this.powerToughnessLabel.setText("");
|
||||||
this.idLabel.setText("");
|
this.idLabel.setText("");
|
||||||
this.setInfoLabel.setText("");
|
this.setInfoLabel.setText("");
|
||||||
@@ -167,8 +196,9 @@ public class CardDetailPanel extends FPanel {
|
|||||||
this.cdArea.setText("");
|
this.cdArea.setText("");
|
||||||
this.setBorder(GuiDisplayUtil.getBorder(card));
|
this.setBorder(GuiDisplayUtil.getBorder(card));
|
||||||
|
|
||||||
if ( null == card )
|
if (null == card) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final boolean canShowThis = card.canBeShownTo(Singletons.getControl().getPlayer());
|
final boolean canShowThis = card.canBeShownTo(Singletons.getControl().getPlayer());
|
||||||
if (canShowThis) {
|
if (canShowThis) {
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import forge.gui.framework.ICDoc;
|
|||||||
import forge.gui.match.views.VDetail;
|
import forge.gui.match.views.VDetail;
|
||||||
import forge.item.IPaperCard;
|
import forge.item.IPaperCard;
|
||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
|
import forge.item.InventoryItemFromSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -38,7 +39,6 @@ public enum CDetail implements ICDoc {
|
|||||||
SINGLETON_INSTANCE;
|
SINGLETON_INSTANCE;
|
||||||
|
|
||||||
private VDetail view = VDetail.SINGLETON_INSTANCE;
|
private VDetail view = VDetail.SINGLETON_INSTANCE;
|
||||||
//private InventoryItem item = null;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shows card details and/or picture in sidebar cardview tabber.
|
* Shows card details and/or picture in sidebar cardview tabber.
|
||||||
@@ -52,16 +52,15 @@ public enum CDetail implements ICDoc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void showCard(InventoryItem item) {
|
public void showCard(InventoryItem item) {
|
||||||
if ( item instanceof IPaperCard ) {
|
if (item instanceof IPaperCard) {
|
||||||
showCard(((IPaperCard)item).getMatchingForgeCard());
|
showCard(((IPaperCard)item).getMatchingForgeCard());
|
||||||
return;
|
} else if (item instanceof InventoryItemFromSet) {
|
||||||
|
view.getLblFlipcard().setVisible(false);
|
||||||
|
view.getPnlDetail().setItem((InventoryItemFromSet)item);
|
||||||
|
view.getParentCell().repaintSelf();
|
||||||
|
} else {
|
||||||
|
showCard((Card)null);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO If we want to display an Items Written Text in the Detail Panel we need to add something into CardDetailPanel
|
|
||||||
//this.item = item;
|
|
||||||
view.getLblFlipcard().setVisible(false);
|
|
||||||
view.getPnlDetail().setCard(null);
|
|
||||||
view.getParentCell().repaintSelf();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.item;
|
|
||||||
|
|
||||||
|
package forge.item;
|
||||||
|
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
|
|
||||||
@@ -25,13 +25,7 @@ import forge.Singletons;
|
|||||||
import forge.card.BoosterData;
|
import forge.card.BoosterData;
|
||||||
import forge.card.CardEdition;
|
import forge.card.CardEdition;
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO Write javadoc for this type.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class BoosterPack extends OpenablePack {
|
public class BoosterPack extends OpenablePack {
|
||||||
|
|
||||||
/** The Constant fnFromSet. */
|
|
||||||
public static final Function<CardEdition, BoosterPack> FN_FROM_SET = new Function<CardEdition, BoosterPack>() {
|
public static final Function<CardEdition, BoosterPack> FN_FROM_SET = new Function<CardEdition, BoosterPack>() {
|
||||||
@Override
|
@Override
|
||||||
public BoosterPack apply(final CardEdition arg1) {
|
public BoosterPack apply(final CardEdition arg1) {
|
||||||
@@ -40,26 +34,10 @@ public class BoosterPack extends OpenablePack {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates a new booster pack.
|
|
||||||
*
|
|
||||||
* @param set
|
|
||||||
* the set
|
|
||||||
*/
|
|
||||||
public BoosterPack(final String name0, final BoosterData boosterData) {
|
public BoosterPack(final String name0, final BoosterData boosterData) {
|
||||||
super(name0, boosterData);
|
super(name0, boosterData);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see forge.item.InventoryItemFromSet#getImageFilename()
|
|
||||||
*/
|
|
||||||
/**
|
|
||||||
* Gets the image filename.
|
|
||||||
*
|
|
||||||
* @return String
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public final String getImageFilename() {
|
public final String getImageFilename() {
|
||||||
return ImageCache.SEALED_PRODUCT + "booster/" + this.contents.getEdition() + ".png";
|
return ImageCache.SEALED_PRODUCT + "booster/" + this.contents.getEdition() + ".png";
|
||||||
@@ -70,20 +48,8 @@ public class BoosterPack extends OpenablePack {
|
|||||||
return "Booster Pack";
|
return "Booster Pack";
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see java.lang.Object#clone()
|
|
||||||
*/
|
|
||||||
/**
|
|
||||||
* Clone.
|
|
||||||
*
|
|
||||||
* @return Object
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public final Object clone() {
|
public final Object clone() {
|
||||||
return new BoosterPack(name, contents);
|
return new BoosterPack(name, contents);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,6 +69,11 @@ public final class CardPrinted implements Comparable<IPaperCard>, InventoryItemF
|
|||||||
public String getName() {
|
public String getName() {
|
||||||
return this.name;
|
return this.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ public class CardToken implements InventoryItemFromSet, IPaperCard {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override public String getName() { return name; }
|
@Override public String getName() { return name; }
|
||||||
|
@Override public String getDescription() { return name; }
|
||||||
|
|
||||||
@Override public String getEdition() { return edition; }
|
@Override public String getEdition() { return edition; }
|
||||||
|
|
||||||
@Override public int getArtIndex() { return 0; } // This might change however
|
@Override public int getArtIndex() { return 0; } // This might change however
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package forge.item;
|
package forge.item;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -27,10 +28,6 @@ import forge.Singletons;
|
|||||||
import forge.card.CardEdition;
|
import forge.card.CardEdition;
|
||||||
import forge.card.FatPackData;
|
import forge.card.FatPackData;
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO Write javadoc for this type.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class FatPack extends OpenablePack {
|
public class FatPack extends OpenablePack {
|
||||||
|
|
||||||
/** The Constant fnFromSet. */
|
/** The Constant fnFromSet. */
|
||||||
@@ -44,17 +41,15 @@ public class FatPack extends OpenablePack {
|
|||||||
|
|
||||||
private final FatPackData fpData;
|
private final FatPackData fpData;
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates a new booster pack.
|
|
||||||
*
|
|
||||||
* @param set
|
|
||||||
* the set
|
|
||||||
*/
|
|
||||||
public FatPack(final String name0, final FatPackData fpData0) {
|
public FatPack(final String name0, final FatPackData fpData0) {
|
||||||
super(name0, Singletons.getModel().getBoosters().get(fpData0.getEdition()));
|
super(name0, Singletons.getModel().getBoosters().get(fpData0.getEdition()));
|
||||||
fpData = fpData0;
|
fpData = fpData0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return fpData.toString() + contents.toString();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final String getImageFilename() {
|
public final String getImageFilename() {
|
||||||
@@ -73,20 +68,10 @@ public class FatPack extends OpenablePack {
|
|||||||
for (int i = 0; i < fpData.getCntBoosters(); i++) {
|
for (int i = 0; i < fpData.getCntBoosters(); i++) {
|
||||||
result.addAll(super.generate());
|
result.addAll(super.generate());
|
||||||
}
|
}
|
||||||
result.addAll(getRandomBasicLands(fpData.getLandsEdition(), fpData.getCntLands()));
|
result.addAll(getRandomBasicLands(fpData.getLandEdition(), fpData.getCntLands()));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see java.lang.Object#clone()
|
|
||||||
*/
|
|
||||||
/**
|
|
||||||
* Clone.
|
|
||||||
*
|
|
||||||
* @return Object
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public final Object clone() {
|
public final Object clone() {
|
||||||
return new FatPack(name, fpData);
|
return new FatPack(name, fpData);
|
||||||
@@ -96,6 +81,4 @@ public class FatPack extends OpenablePack {
|
|||||||
public int getTotalCards() {
|
public int getTotalCards() {
|
||||||
return super.getTotalCards() * fpData.getCntBoosters() + fpData.getCntLands();
|
return super.getTotalCards() * fpData.getCntBoosters() + fpData.getCntLands();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,22 +22,10 @@ package forge.item;
|
|||||||
* CardPrinted, Booster, Pets, Plants... etc
|
* CardPrinted, Booster, Pets, Plants... etc
|
||||||
*/
|
*/
|
||||||
public interface InventoryItemFromSet extends InventoryItem {
|
public interface InventoryItemFromSet extends InventoryItem {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An inventory item has to provide a name.
|
* The description to display for the item
|
||||||
*
|
|
||||||
* @return the name
|
|
||||||
*/
|
*/
|
||||||
@Override
|
String getDescription();
|
||||||
String getName();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An inventory item has to provide a picture.
|
|
||||||
*
|
|
||||||
* @return the image filename
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
String getImageFilename();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An item belonging to a set should return its set as well.
|
* An item belonging to a set should return its set as well.
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package forge.item;
|
package forge.item;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -28,73 +29,46 @@ import forge.card.BoosterGenerator;
|
|||||||
import forge.card.CardRulesPredicates;
|
import forge.card.CardRulesPredicates;
|
||||||
import forge.util.Aggregates;
|
import forge.util.Aggregates;
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO: Write javadoc for this type.
|
|
||||||
*/
|
|
||||||
public abstract class OpenablePack implements InventoryItemFromSet {
|
public abstract class OpenablePack implements InventoryItemFromSet {
|
||||||
|
|
||||||
/** The contents. */
|
|
||||||
protected final BoosterData contents;
|
protected final BoosterData contents;
|
||||||
|
|
||||||
/** The name. */
|
|
||||||
protected final String name;
|
protected final String name;
|
||||||
private List<CardPrinted> cards = null;
|
private List<CardPrinted> cards = null;
|
||||||
|
|
||||||
private BoosterGenerator generator = null;
|
private BoosterGenerator generator = null;
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates a new openable pack.
|
|
||||||
*
|
|
||||||
* @param name0 the name0
|
|
||||||
* @param boosterData the booster data
|
|
||||||
*/
|
|
||||||
public OpenablePack(final String name0, final BoosterData boosterData) {
|
public OpenablePack(final String name0, final BoosterData boosterData) {
|
||||||
this.contents = boosterData;
|
this.contents = boosterData;
|
||||||
this.name = name0;
|
this.name = name0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see forge.item.InventoryItemFromSet#getName()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public final String getName() {
|
public final String getName() {
|
||||||
return this.name + " " + this.getItemType();
|
return this.name + " " + this.getItemType();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
@Override
|
||||||
* @see forge.item.InventoryItemFromSet#getEdition()
|
public String getDescription() {
|
||||||
*/
|
return contents.toString();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final String getEdition() {
|
public final String getEdition() {
|
||||||
return this.contents.getEdition();
|
return this.contents.getEdition();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the cards.
|
|
||||||
*
|
|
||||||
* @return the cards
|
|
||||||
*/
|
|
||||||
public final List<CardPrinted> getCards() {
|
public final List<CardPrinted> getCards() {
|
||||||
if (null == this.cards) {
|
if (null == this.cards) {
|
||||||
this.cards = this.generate();
|
this.cards = this.generate();
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.cards;
|
return this.cards;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the total cards.
|
|
||||||
*
|
|
||||||
* @return the total cards
|
|
||||||
*/
|
|
||||||
public int getTotalCards() {
|
public int getTotalCards() {
|
||||||
return this.contents.getTotal();
|
return this.contents.getTotal();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see java.lang.Object#equals(java.lang.Object)
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public final boolean equals(final Object obj) {
|
public final boolean equals(final Object obj) {
|
||||||
if (this == obj) {
|
if (this == obj) {
|
||||||
@@ -117,16 +91,6 @@ public abstract class OpenablePack implements InventoryItemFromSet {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see java.lang.Object#hashCode()
|
|
||||||
*/
|
|
||||||
/**
|
|
||||||
* Hash code.
|
|
||||||
*
|
|
||||||
* @return int
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public final int hashCode() {
|
public final int hashCode() {
|
||||||
final int prime = 31;
|
final int prime = 31;
|
||||||
@@ -135,47 +99,27 @@ public abstract class OpenablePack implements InventoryItemFromSet {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate.
|
|
||||||
*
|
|
||||||
* @return the list
|
|
||||||
*/
|
|
||||||
protected List<CardPrinted> generate() {
|
protected List<CardPrinted> generate() {
|
||||||
if (null == this.generator) {
|
if (null == this.generator) {
|
||||||
this.generator = new BoosterGenerator(this.contents.getEditionFilter());
|
this.generator = new BoosterGenerator(this.contents.getEditionFilter());
|
||||||
}
|
}
|
||||||
final List<CardPrinted> myCards = this.generator.getBoosterPack(this.contents);
|
final List<CardPrinted> myCards = this.generator.getBoosterPack(this.contents);
|
||||||
|
|
||||||
final int cntLands = this.contents.getLand();
|
final int cntLands = this.contents.getCntLands();
|
||||||
if (cntLands > 0) {
|
if (cntLands > 0) {
|
||||||
myCards.add(this.getRandomBasicLand(this.contents.getLandEdition()));
|
myCards.add(this.getRandomBasicLand(this.contents.getLandEdition()));
|
||||||
}
|
}
|
||||||
return myCards;
|
return myCards;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the random basic land.
|
|
||||||
*
|
|
||||||
* @param set the set
|
|
||||||
* @return the random basic land
|
|
||||||
*/
|
|
||||||
protected CardPrinted getRandomBasicLand(final String setCode) {
|
protected CardPrinted getRandomBasicLand(final String setCode) {
|
||||||
return this.getRandomBasicLands(setCode, 1).get(0);
|
return this.getRandomBasicLands(setCode, 1).get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the random basic lands.
|
|
||||||
*
|
|
||||||
* @param set the set
|
|
||||||
* @param count the count
|
|
||||||
* @return the random basic lands
|
|
||||||
*/
|
|
||||||
protected List<CardPrinted> getRandomBasicLands(final String setCode, final int count) {
|
protected List<CardPrinted> getRandomBasicLands(final String setCode, final int count) {
|
||||||
Predicate<CardPrinted> cardsRule = Predicates.and(
|
Predicate<CardPrinted> cardsRule = Predicates.and(
|
||||||
IPaperCard.Predicates.printedInSets(setCode),
|
IPaperCard.Predicates.printedInSets(setCode),
|
||||||
Predicates.compose(CardRulesPredicates.Presets.IS_BASIC_LAND, CardPrinted.FN_GET_RULES));
|
Predicates.compose(CardRulesPredicates.Presets.IS_BASIC_LAND, CardPrinted.FN_GET_RULES));
|
||||||
return Aggregates.random(Iterables.filter(CardDb.instance().getAllCards(), cardsRule), count);
|
return Aggregates.random(Iterables.filter(CardDb.instance().getAllCards(), cardsRule), count);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -133,6 +133,7 @@ public class PreconDeck implements InventoryItemFromSet {
|
|||||||
*
|
*
|
||||||
* @return the description
|
* @return the description
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public final String getDescription() {
|
public final String getDescription() {
|
||||||
return this.description;
|
return this.description;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ import forge.util.IItemReader;
|
|||||||
public abstract class StorageReaderFile<T> implements IItemReader<T> {
|
public abstract class StorageReaderFile<T> implements IItemReader<T> {
|
||||||
|
|
||||||
private final File file;
|
private final File file;
|
||||||
private final Function<T, String> keySelector;
|
private final Function<? super T, String> keySelector;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new storage reader file.
|
* Instantiates a new storage reader file.
|
||||||
@@ -48,7 +48,7 @@ public abstract class StorageReaderFile<T> implements IItemReader<T> {
|
|||||||
* @param pathname the pathname
|
* @param pathname the pathname
|
||||||
* @param keySelector0 the key selector0
|
* @param keySelector0 the key selector0
|
||||||
*/
|
*/
|
||||||
public StorageReaderFile(final String pathname, final Function<T, String> keySelector0) {
|
public StorageReaderFile(final String pathname, final Function<? super T, String> keySelector0) {
|
||||||
this(new File(pathname), keySelector0);
|
this(new File(pathname), keySelector0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,7 +58,7 @@ public abstract class StorageReaderFile<T> implements IItemReader<T> {
|
|||||||
* @param file0 the file0
|
* @param file0 the file0
|
||||||
* @param keySelector0 the key selector0
|
* @param keySelector0 the key selector0
|
||||||
*/
|
*/
|
||||||
public StorageReaderFile(final File file0, final Function<T, String> keySelector0) {
|
public StorageReaderFile(final File file0, final Function<? super T, String> keySelector0) {
|
||||||
this.file = file0;
|
this.file = file0;
|
||||||
this.keySelector = keySelector0;
|
this.keySelector = keySelector0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user