* BAEL-1278

* Rename methods names
This commit is contained in:
Hany Ahmed
2017-12-12 06:39:39 +02:00
committed by KevinGilmore
parent b2ea831d83
commit 339cf6a7d0
7 changed files with 306 additions and 0 deletions
@@ -0,0 +1,41 @@
package com.baeldung.jspec;
public abstract class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
public String getName() {
return name;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Animal other = (Animal) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
}
@@ -0,0 +1,48 @@
package com.baeldung.jspec;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class Cage {
private Set<Animal> animals = new HashSet<>();
public void put(Animal animal) {
animals.add(animal);
}
public void put(Animal... animals) {
this.animals.addAll(Arrays.asList(animals));
}
public Animal release(Animal animal) {
return animals.remove(animal) ? animal : null;
}
public void open() {
animals.clear();
}
public boolean hasAnimals() {
return animals.size() > 0;
}
public boolean isEmpty() {
return animals.isEmpty();
}
public Set<Animal> getAnimals() {
return this.animals;
}
public int size() {
return animals.size();
}
@Override
public String toString() {
return "Cage [animals=" + animals + "]";
}
}
@@ -0,0 +1,14 @@
package com.baeldung.jspec;
public class Cat extends Animal {
public Cat(String name) {
super(name);
}
@Override
public String toString() {
return "Cat [name=" + name + "]";
}
}
@@ -0,0 +1,14 @@
package com.baeldung.jspec;
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
@Override
public String toString() {
return "Dog [name=" + name + "]";
}
}