several Checkstyle fixes

This commit is contained in:
slapshot5
2011-08-31 07:29:52 +00:00
parent b7035fa3f1
commit cf623391fb
3 changed files with 240 additions and 183 deletions

View File

@@ -24,7 +24,7 @@ public class CardList implements Iterable<Card> {
* *
* @return a {@link java.util.Iterator} object. * @return a {@link java.util.Iterator} object.
*/ */
public Iterator<Card> iterator() { public final Iterator<Card> iterator() {
return list.iterator(); return list.iterator();
} }
@@ -41,7 +41,7 @@ public class CardList implements Iterable<Card> {
* *
* @param c a {@link forge.Card} object. * @param c a {@link forge.Card} object.
*/ */
public CardList(Card... c) { public CardList(final Card... c) {
addAll(c); addAll(c);
} }
@@ -50,7 +50,7 @@ public class CardList implements Iterable<Card> {
* *
* @param al a {@link java.util.ArrayList} object. * @param al a {@link java.util.ArrayList} object.
*/ */
public CardList(ArrayList<Card> al) { public CardList(final ArrayList<Card> al) {
addAll(al.toArray()); addAll(al.toArray());
} }
@@ -61,9 +61,9 @@ public class CardList implements Iterable<Card> {
* @param iterable we traverse this and copy its contents into a local * @param iterable we traverse this and copy its contents into a local
* field. * field.
*/ */
public CardList(Iterable<Card> iterable) { public CardList(final Iterable<Card> iterable) {
for (Card card : iterable) { for (Card card : iterable) {
add(card); add(card);
} }
} }
@@ -72,7 +72,7 @@ public class CardList implements Iterable<Card> {
* *
* @param c an array of {@link java.lang.Object} objects. * @param c an array of {@link java.lang.Object} objects.
*/ */
public CardList(Object[] c) { public CardList(final Object[] c) {
addAll(c); addAll(c);
} }
@@ -83,21 +83,21 @@ public class CardList implements Iterable<Card> {
* *
* @param generator a non-infinite generator of Card instances. * @param generator a non-infinite generator of Card instances.
*/ */
public CardList(Generator<Card> generator) { public CardList(final Generator<Card> generator) {
// Generators yield their contents to a Yieldable. Here, // Generators yield their contents to a Yieldable. Here,
// we create a quick Yieldable that adds the information it // we create a quick Yieldable that adds the information it
// receives to this CardList's list field. // receives to this CardList's list field.
Yieldable<Card> valueReceiver = new Yieldable<Card>() { Yieldable<Card> valueReceiver = new Yieldable<Card>() {
@Override @Override
public void yield(Card card) { public void yield(final Card card) {
if (card != null) { if (card != null) {
list.add(card); list.add(card);
} }
} }
}; };
generator.generate(valueReceiver); generator.generate(valueReceiver);
} }
/** /**
@@ -105,9 +105,9 @@ public class CardList implements Iterable<Card> {
* *
* @param size an initialize estimate of its maximum size * @param size an initialize estimate of its maximum size
*/ */
public CardList(int size) { public CardList(final int size) {
list = new ArrayList<Card>(size); list = new ArrayList<Card>(size);
} }
/** /**
* <p>Get any cards that exist in the passed in sets list.</p> * <p>Get any cards that exist in the passed in sets list.</p>
@@ -115,18 +115,19 @@ public class CardList implements Iterable<Card> {
* @param sets a {@link java.util.ArrayList} object. * @param sets a {@link java.util.ArrayList} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getSets(ArrayList<String> sets) { public final CardList getSets(final ArrayList<String> sets) {
CardList list = new CardList(); CardList list = new CardList();
for (Card c : this) { for (Card c : this) {
for (SetInfo set : c.getSets()) for (SetInfo set : c.getSets()) {
if (sets.contains(set.toString())) { if (sets.contains(set.toString())) {
list.add(c); list.add(c);
break; break;
} }
}
} }
return list; return list;
}//getSets() } //getSets()
/** /**
@@ -135,17 +136,18 @@ public class CardList implements Iterable<Card> {
* @param cardColor a {@link java.lang.String} object. * @param cardColor a {@link java.lang.String} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getColor(String cardColor) { public final CardList getColor(final String cardColor) {
CardList list = new CardList(); CardList list = new CardList();
for (Card c : this) { for (Card c : this) {
if (cardColor.equals("Multicolor") && c.getColor().size() > 1) if (cardColor.equals("Multicolor") && c.getColor().size() > 1) {
list.add(c); list.add(c);
else if (c.isColor(cardColor) && c.getColor().size() == 1) } else if (c.isColor(cardColor) && c.getColor().size() == 1) {
list.add(c); list.add(c);
}
} }
return list; return list;
}//getColor() } //getColor()
/** /**
* <p>getOnly2Colors.</p> * <p>getOnly2Colors.</p>
@@ -154,16 +156,19 @@ public class CardList implements Iterable<Card> {
* @param clr2 a {@link java.lang.String} object. * @param clr2 a {@link java.lang.String} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getOnly2Colors(final String clr1, final String clr2) { public final CardList getOnly2Colors(final String clr1, final String clr2) {
CardList list = new CardList(); CardList list = new CardList();
list.addAll(this); list.addAll(this);
CardListFilter clrF = new CardListFilter() { CardListFilter clrF = new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
ArrayList<Card_Color> cClrs = c.getColor(); ArrayList<Card_Color> cClrs = c.getColor();
for (int i = 0; i < cClrs.size(); i++) { for (int i = 0; i < cClrs.size(); i++) {
if (!cClrs.get(i).toStringArray().get(0).equals(clr1) && !cClrs.get(i).toStringArray().get(0).equals(clr2)) if (!cClrs.get(i).toStringArray().get(0).equals(clr1)
&& !cClrs.get(i).toStringArray().get(0).equals(clr2))
{
return false; return false;
}
} }
return true; return true;
} }
@@ -175,21 +180,28 @@ public class CardList implements Iterable<Card> {
/** /**
* <p>reverse.</p> * <p>reverse.</p>
*/ */
public void reverse() { public final void reverse() {
Collections.reverse(list); Collections.reverse(list);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
public boolean equals(Object a) { public final boolean equals(Object a) {
if (a instanceof CardList) { if (a instanceof CardList) {
CardList b = (CardList) a; CardList b = (CardList) a;
if (list.size() != b.size()) return false; if (list.size() != b.size()) {
return false;
}
for (int i = 0; i < list.size(); i++) for (int i = 0; i < list.size(); i++) {
if (!list.get(i).equals(b.get(i))) return false; if (!list.get(i).equals(b.get(i))) {
return false;
}
}
return true; return true;
} else return false; } else {
return false;
}
} }
//removes one copy of that card //removes one copy of that card
@@ -198,25 +210,28 @@ public class CardList implements Iterable<Card> {
* *
* @param cardName a {@link java.lang.String} object. * @param cardName a {@link java.lang.String} object.
*/ */
public void remove(final String cardName) { public final void remove(final String cardName) {
CardList find = this.filter(new CardListFilter() { CardList find = this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return c.getName().equals(cardName); return c.getName().equals(cardName);
} }
}); });
if (0 < find.size()) this.remove(find.get(0)); if (0 < find.size()) {
else throw new RuntimeException("CardList : remove(String cardname), error - card name not found: " this.remove(find.get(0));
+ cardName + " - contents of Arraylist:" + list); } else {
throw new RuntimeException("CardList : remove(String cardname), error - card name not found: "
+ cardName + " - contents of Arraylist:" + list);
}
}//remove(String cardName) } //remove(String cardName)
/** /**
* <p>size.</p> * <p>size.</p>
* *
* @return a int. * @return a int.
*/ */
public int size() { public final int size() {
return list.size(); return list.size();
} }
@@ -225,7 +240,7 @@ public class CardList implements Iterable<Card> {
* *
* @param c a {@link forge.Card} object. * @param c a {@link forge.Card} object.
*/ */
public void add(Card c) { public final void add(final Card c) {
list.add(c); list.add(c);
} }
@@ -235,16 +250,16 @@ public class CardList implements Iterable<Card> {
* @param n a int. * @param n a int.
* @param c a {@link forge.Card} object. * @param c a {@link forge.Card} object.
*/ */
public void add(int n, Card c) { public final void add(final int n, final Card c) {
list.add(n, c); list.add(n, c);
} }
/** /**
* addAll(CardList) - lets you add one CardList to another directly * addAll(CardList) - lets you add one CardList to another directly.
* *
* @param in - CardList to add to the current CardList * @param in - CardList to add to the current CardList
*/ */
public void addAll(CardList in) { public final void addAll(final CardList in) {
addAll(in.toArray()); addAll(in.toArray());
} }
@@ -254,7 +269,7 @@ public class CardList implements Iterable<Card> {
* @param c a {@link forge.Card} object. * @param c a {@link forge.Card} object.
* @return a boolean. * @return a boolean.
*/ */
public boolean contains(Card c) { public final boolean contains(final Card c) {
return list.contains(c); return list.contains(c);
} }
@@ -265,7 +280,7 @@ public class CardList implements Iterable<Card> {
* @param index a int. * @param index a int.
* @return a {@link forge.Card} object. * @return a {@link forge.Card} object.
*/ */
public Card getCard(int index) { public final Card getCard(final int index) {
return list.get(index); return list.get(index);
} }
@@ -275,7 +290,7 @@ public class CardList implements Iterable<Card> {
* @param i a int. * @param i a int.
* @return a {@link forge.Card} object. * @return a {@link forge.Card} object.
*/ */
public Card get(int i) { public final Card get(final int i) {
return getCard(i); return getCard(i);
} }
@@ -284,9 +299,10 @@ public class CardList implements Iterable<Card> {
* *
* @param c an array of {@link java.lang.Object} objects. * @param c an array of {@link java.lang.Object} objects.
*/ */
public void addAll(Object c[]) { public final void addAll(final Object[] c) {
for (int i = 0; i < c.length; i++) for (int i = 0; i < c.length; i++) {
list.add((Card) c[i]); list.add((Card) c[i]);
}
} }
/** /**
@@ -295,7 +311,7 @@ public class CardList implements Iterable<Card> {
* @param c a {@link forge.Card} object. * @param c a {@link forge.Card} object.
* @return a boolean. * @return a boolean.
*/ */
public boolean containsName(Card c) { public final boolean containsName(final Card c) {
return containsName(c.getName()); return containsName(c.getName());
} }
@@ -305,9 +321,12 @@ public class CardList implements Iterable<Card> {
* @param name a {@link java.lang.String} object. * @param name a {@link java.lang.String} object.
* @return a boolean. * @return a boolean.
*/ */
public boolean containsName(String name) { public final boolean containsName(final String name) {
for (int i = 0; i < size(); i++) for (int i = 0; i < size(); i++) {
if (getCard(i).getName().equals(name)) return true; if (getCard(i).getName().equals(name)) {
return true;
}
}
return false; return false;
} }
@@ -319,11 +338,14 @@ public class CardList implements Iterable<Card> {
* @param name a {@link java.lang.String} object. * @param name a {@link java.lang.String} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getName(String name) { public final CardList getName(final String name) {
CardList c = new CardList(); CardList c = new CardList();
for (int i = 0; i < size(); i++) for (int i = 0; i < size(); i++) {
if (getCard(i).getName().equals(name)) c.add(getCard(i)); if (getCard(i).getName().equals(name)) {
c.add(getCard(i));
}
}
return c; return c;
} }
@@ -335,11 +357,14 @@ public class CardList implements Iterable<Card> {
* @param name a {@link java.lang.String} object. * @param name a {@link java.lang.String} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getNotName(String name) { public final CardList getNotName(final String name) {
CardList c = new CardList(); CardList c = new CardList();
for (int i = 0; i < size(); i++) for (int i = 0; i < size(); i++) {
if (!getCard(i).getName().equals(name)) c.add(getCard(i)); if (!getCard(i).getName().equals(name)) {
c.add(getCard(i));
}
}
return c; return c;
} }
@@ -350,11 +375,14 @@ public class CardList implements Iterable<Card> {
* @param name a {@link java.lang.String} object. * @param name a {@link java.lang.String} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getImageName(String name) { public final CardList getImageName(final String name) {
CardList c = new CardList(); CardList c = new CardList();
for (int i = 0; i < size(); i++) for (int i = 0; i < size(); i++) {
if (getCard(i).getImageName().equals(name)) c.add(getCard(i)); if (getCard(i).getImageName().equals(name)) {
c.add(getCard(i));
}
}
return c; return c;
} }
@@ -365,9 +393,9 @@ public class CardList implements Iterable<Card> {
* @param player a {@link forge.Player} object. * @param player a {@link forge.Player} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getController(final Player player) { public final CardList getController(final Player player) {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return c.getController().isPlayer(player); return c.getController().isPlayer(player);
} }
}); });
@@ -379,9 +407,9 @@ public class CardList implements Iterable<Card> {
* @param player a {@link forge.Player} object. * @param player a {@link forge.Player} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getOwner(final Player player) { public final CardList getOwner(final Player player) {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return c.getOwner().isPlayer(player); return c.getOwner().isPlayer(player);
} }
}); });
@@ -393,13 +421,13 @@ public class CardList implements Iterable<Card> {
* @param rarity a {@link java.lang.String} object. * @param rarity a {@link java.lang.String} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getRarity(final String rarity) { public final CardList getRarity(final String rarity) {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
// TODO spin off Mythic from Rare when the time comes // TODO spin off Mythic from Rare when the time comes
String r = c.getSVar("Rarity"); String r = c.getSVar("Rarity");
return r.equals(rarity) || return r.equals(rarity)
rarity.equals(Constant.Rarity.Rare) && r.equals(Constant.Rarity.Mythic); || rarity.equals(Constant.Rarity.Rare) && r.equals(Constant.Rarity.Mythic);
} }
}); });
} }
@@ -411,9 +439,9 @@ public class CardList implements Iterable<Card> {
* @param cardType a {@link java.lang.String} object. * @param cardType a {@link java.lang.String} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getType(final String cardType) { public final CardList getType(final String cardType) {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return c.isType(cardType); return c.isType(cardType);
} }
}); });
@@ -426,9 +454,9 @@ public class CardList implements Iterable<Card> {
* @param cardType a {@link java.lang.String} object. * @param cardType a {@link java.lang.String} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getNotType(final String cardType) { public final CardList getNotType(final String cardType) {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return !c.isType(cardType); return !c.isType(cardType);
} }
}); });
@@ -439,9 +467,9 @@ public class CardList implements Iterable<Card> {
* *
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getPermanents() { public final CardList getPermanents() {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return c.isPermanent(); return c.isPermanent();
} }
}); });
@@ -453,9 +481,9 @@ public class CardList implements Iterable<Card> {
* @param keyword a {@link java.lang.String} object. * @param keyword a {@link java.lang.String} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getKeyword(final String keyword) { public final CardList getKeyword(final String keyword) {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return c.hasKeyword(keyword); return c.hasKeyword(keyword);
} }
}); });
@@ -467,9 +495,9 @@ public class CardList implements Iterable<Card> {
* @param keyword a {@link java.lang.String} object. * @param keyword a {@link java.lang.String} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getNotKeyword(final String keyword) { public final CardList getNotKeyword(final String keyword) {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return !c.hasKeyword(keyword); return !c.hasKeyword(keyword);
} }
}); });
@@ -482,9 +510,9 @@ public class CardList implements Iterable<Card> {
* @param keyword a {@link java.lang.String} object. * @param keyword a {@link java.lang.String} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getKeywordsContain(final String keyword) { public final CardList getKeywordsContain(final String keyword) {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return c.keywordsContain(keyword); return c.keywordsContain(keyword);
} }
}); });
@@ -497,9 +525,9 @@ public class CardList implements Iterable<Card> {
* @param keyword a {@link java.lang.String} object. * @param keyword a {@link java.lang.String} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getKeywordsDontContain(final String keyword) { public final CardList getKeywordsDontContain(final String keyword) {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return !c.keywordsContain(keyword); return !c.keywordsContain(keyword);
} }
}); });
@@ -510,9 +538,9 @@ public class CardList implements Iterable<Card> {
* *
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getTokens() { public final CardList getTokens() {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return c.isToken(); return c.isToken();
} }
}); });
@@ -523,10 +551,10 @@ public class CardList implements Iterable<Card> {
* *
* @param filt determines which cards are present in the resulting list * @param filt determines which cards are present in the resulting list
* *
* @return a subset of this CardList whose items meet the filtering * @return a subset of this CardList whose items meet the filtering
* criteria; may be empty, but never null. * criteria; may be empty, but never null.
*/ */
public CardList filter(CardListFilter filt) { public final CardList filter(final CardListFilter filt) {
return CardFilter.filter(this, filt); return CardFilter.filter(this, filt);
} }
@@ -543,7 +571,7 @@ public class CardList implements Iterable<Card> {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public String toString() { public final String toString() {
return list.toString(); return list.toString();
} }
@@ -552,7 +580,7 @@ public class CardList implements Iterable<Card> {
* *
* @return a boolean. * @return a boolean.
*/ */
public boolean isEmpty() { public final boolean isEmpty() {
return list.isEmpty(); return list.isEmpty();
} }
@@ -562,7 +590,7 @@ public class CardList implements Iterable<Card> {
* @param i a int. * @param i a int.
* @return a {@link forge.Card} object. * @return a {@link forge.Card} object.
*/ */
public Card remove(int i) { public final Card remove(final int i) {
return list.remove(i); return list.remove(i);
} }
@@ -571,16 +599,16 @@ public class CardList implements Iterable<Card> {
* *
* @param c a {@link forge.Card} object. * @param c a {@link forge.Card} object.
*/ */
public void remove(Card c) { public final void remove(final Card c) {
list.remove(c); list.remove(c);
} }
/** /**
* <p>removeAll.</p> * <p>removeAll.</p>
* *
* @param c a {@link forge.Card} object. * @param c a {@link forge.Card} object.
*/ */
public void removeAll(Card c) { public final void removeAll(final Card c) {
ArrayList<Card> cList = new ArrayList<Card>(); ArrayList<Card> cList = new ArrayList<Card>();
cList.add(c); cList.add(c);
list.removeAll(cList); list.removeAll(cList);
@@ -589,14 +617,14 @@ public class CardList implements Iterable<Card> {
/** /**
* <p>clear.</p> * <p>clear.</p>
*/ */
public void clear() { public final void clear() {
list.clear(); list.clear();
} }
/** /**
* <p>shuffle.</p> * <p>shuffle.</p>
*/ */
public void shuffle() { public final void shuffle() {
// reseed Random each time we want to Shuffle // reseed Random each time we want to Shuffle
//MyRandom.random = MyRandom.random; //MyRandom.random = MyRandom.random;
Collections.shuffle(list, MyRandom.random); Collections.shuffle(list, MyRandom.random);
@@ -609,7 +637,7 @@ public class CardList implements Iterable<Card> {
* *
* @param c a {@link java.util.Comparator} object. * @param c a {@link java.util.Comparator} object.
*/ */
public void sort(Comparator<Card> c) { public final void sort(final Comparator<Card> c) {
Collections.sort(list, c); Collections.sort(list, c);
} }
@@ -619,9 +647,9 @@ public class CardList implements Iterable<Card> {
* @param source a {@link forge.Card} object. * @param source a {@link forge.Card} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getTargetableCards(final Card source) { public final CardList getTargetableCards(final Card source) {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return CardFactoryUtil.canTarget(source, c); return CardFactoryUtil.canTarget(source, c);
} }
}); });
@@ -633,38 +661,38 @@ public class CardList implements Iterable<Card> {
* @param source a {@link forge.Card} object. * @param source a {@link forge.Card} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getUnprotectedCards(final Card source) { public final CardList getUnprotectedCards(final Card source) {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return !CardFactoryUtil.hasProtectionFrom(source, c); return !CardFactoryUtil.hasProtectionFrom(source, c);
} }
}); });
} }
/**
* <p>getValidCards.</p>
*
* @param Restrictions a {@link java.lang.String} object.
* @param sourceController a {@link forge.Player} object.
* @param source a {@link forge.Card} object.
* @return a {@link forge.CardList} object.
*/
public CardList getValidCards(String Restrictions, final Player sourceController, final Card source) {
return getValidCards(Restrictions.split(","), sourceController, source);
}
/** /**
* <p>getValidCards.</p> * <p>getValidCards.</p>
* *
* @param Restrictions a {@link java.lang.String} object. * @param restrictions a {@link java.lang.String} object.
* @param sourceController a {@link forge.Player} object. * @param sourceController a {@link forge.Player} object.
* @param source a {@link forge.Card} object. * @param source a {@link forge.Card} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getValidCards(final String Restrictions[], final Player sourceController, final Card source) { public final CardList getValidCards(final String restrictions, final Player sourceController, final Card source) {
return getValidCards(restrictions.split(","), sourceController, source);
}
/**
* <p>getValidCards.</p>
*
* @param restrictions a {@link java.lang.String} object.
* @param sourceController a {@link forge.Player} object.
* @param source a {@link forge.Card} object.
* @return a {@link forge.CardList} object.
*/
public final CardList getValidCards(final String[] restrictions, final Player sourceController, final Card source) {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return c != null && c.isValidCard(Restrictions, sourceController, source); return c != null && c.isValidCard(restrictions, sourceController, source);
} }
}); });
} }
@@ -674,9 +702,9 @@ public class CardList implements Iterable<Card> {
* *
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getEquipMagnets() { public final CardList getEquipMagnets() {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return (c.isCreature() && (c.getSVar("EquipMe").equals("Multiple") return (c.isCreature() && (c.getSVar("EquipMe").equals("Multiple")
|| (c.getSVar("EquipMe").equals("Once") && !c.isEquipped()))); || (c.getSVar("EquipMe").equals("Once") && !c.isEquipped())));
} }
@@ -688,9 +716,9 @@ public class CardList implements Iterable<Card> {
* *
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getEnchantMagnets() { public final CardList getEnchantMagnets() {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return (c.isCreature() && (c.getSVar("EnchantMe").equals("Multiple") return (c.isCreature() && (c.getSVar("EnchantMe").equals("Multiple")
|| (c.getSVar("EnchantMe").equals("Once") && !c.isEnchanted()))); || (c.getSVar("EnchantMe").equals("Once") && !c.isEnchanted())));
} }
@@ -702,7 +730,7 @@ public class CardList implements Iterable<Card> {
* *
* @return a int. * @return a int.
*/ */
public int getTotalConvertedManaCost() { public final int getTotalConvertedManaCost() {
int total = 0; int total = 0;
for (int i = 0; i < size(); i++) { for (int i = 0; i < size(); i++) {
total += get(i).getCMC(); total += get(i).getCMC();
@@ -716,7 +744,7 @@ public class CardList implements Iterable<Card> {
* @return a int. * @return a int.
* @since 1.0.15 * @since 1.0.15
*/ */
public int getHighestConvertedManaCost() { public final int getHighestConvertedManaCost() {
int total = 0; int total = 0;
for (int i = 0; i < size(); i++) { for (int i = 0; i < size(); i++) {
total = Math.max(total, get(i).getCMC()); total = Math.max(total, get(i).getCMC());
@@ -729,44 +757,63 @@ public class CardList implements Iterable<Card> {
* *
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
public CardList getColored() { public final CardList getColored() {
return this.filter(new CardListFilter() { return this.filter(new CardListFilter() {
public boolean addCard(Card c) { public boolean addCard(final Card c) {
return (!c.isColorless()); return (!c.isColorless());
} }
}); });
} }
public boolean getAbove(Card source, Card compared){ /**
if (source.equals(compared)) * getAbove.
return false; *
* @param source a Card object
for(Card itr : this){ * @param compared a Card object
if (itr.equals(source)) * @return a boolean
return true; */
else if (itr.equals(compared)) public final boolean getAbove(final Card source, final Card compared) {
return false; if (source.equals(compared)) {
} return false;
return false; }
for (Card itr : this) {
if (itr.equals(source)) {
return true;
} else if (itr.equals(compared)) {
return false;
}
}
return false;
} }
public boolean getDirectlyAbove(Card source, Card compared){ /**
if (source.equals(compared)) * getDirectlyAbove.
return false; *
* @param source a Card object
boolean checkNext = false; * @param compared a Card object
for(Card itr : this){ * @return a boolean
if (checkNext){ */
if (itr.equals(compared)) public final boolean getDirectlyAbove(final Card source, final Card compared) {
return true; if (source.equals(compared)) {
return false; return false;
} }
else if (itr.equals(source))
checkNext = true; boolean checkNext = false;
else if (itr.equals(compared)) for (Card itr : this) {
return false; if (checkNext) {
} if (itr.equals(compared)) {
return false; return true;
}
return false;
}
else if (itr.equals(source)) {
checkNext = true;
} else if (itr.equals(compared)) {
return false;
}
}
return false;
} }
}//end class CardList } //end class CardList

View File

@@ -13,5 +13,5 @@ public interface CardListFilter {
* @param c a {@link forge.Card} object. * @param c a {@link forge.Card} object.
* @return a boolean. * @return a boolean.
*/ */
public boolean addCard(Card c); boolean addCard(Card c);
} }

View File

@@ -12,7 +12,6 @@ import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Random; import java.util.Random;
import java.util.Set; import java.util.Set;
@@ -509,6 +508,12 @@ public final class CardUtil {
return buildFilename(card.getName(), card.getCurSetCode(), card.getRandomPicture(), token); return buildFilename(card.getName(), card.getCurSetCode(), card.getRandomPicture(), token);
} }
/**
* buildFilename.
*
* @param card the card to get the filename for
* @return the filename
*/
public static String buildFilename(final CardPrinted card) { public static String buildFilename(final CardPrinted card) {
return buildFilename(card.getName(), card.getSet(), card.getArtIndex(), false); return buildFilename(card.getName(), card.getSet(), card.getArtIndex(), false);
} }
@@ -624,32 +629,37 @@ public final class CardUtil {
return result; return result;
} }
public static CardList getThisTurnEntered(final String to, final String from, final String valid,final Card src) /**
{ * getThisTurnEntered.
*
* @param to zone going to
* @param from zone coming from
* @param valid a isValid expression
* @param src a Card object
* @return a CardList that matches then given criteria
*/
public static CardList getThisTurnEntered(final String to, final String from, final String valid, final Card src) {
CardList res = new CardList(); CardList res = new CardList();
if(to != Constant.Zone.Stack) if (to != Constant.Zone.Stack) {
{ res.addAll(((DefaultPlayerZone) AllZone.getZone(to,
res.addAll(((DefaultPlayerZone)AllZone.getZone(to, AllZone.getComputerPlayer())).getCardsAddedThisTurn(from)); AllZone.getComputerPlayer())).getCardsAddedThisTurn(from));
res.addAll(((DefaultPlayerZone)AllZone.getZone(to, AllZone.getHumanPlayer())).getCardsAddedThisTurn(from)); res.addAll(((DefaultPlayerZone) AllZone.getZone(to, AllZone.getHumanPlayer())).getCardsAddedThisTurn(from));
} }
else else {
{ res.addAll(((DefaultPlayerZone) AllZone.getZone(to, null)).getCardsAddedThisTurn(from));
res.addAll(((DefaultPlayerZone)AllZone.getZone(to,null)).getCardsAddedThisTurn(from));
} }
res = res.filter(new CardListFilter() { res = res.filter(new CardListFilter() {
public boolean addCard(Card c) public boolean addCard(final Card c) {
{ if (c.isValidCard(valid.split(","), src.getController(), src)) {
if(c.isValidCard(valid.split(","), src.getController(), src))
{
return true; return true;
} }
return false; return false;
} }
}); });
return res; return res;
} }
}
} //end class CardUtil