1 package charactermanaj.model;
\r
3 import java.io.Serializable;
\r
4 import java.util.AbstractMap;
\r
5 import java.util.Collections;
\r
6 import java.util.HashMap;
\r
7 import java.util.Map;
\r
8 import java.util.Set;
\r
10 import charactermanaj.graphics.io.ImageResource;
\r
12 public class PartsFiles extends AbstractMap<Layer, ImageResource> implements Serializable {
\r
14 private static final long serialVersionUID = 5799830380308843243L;
\r
16 private HashMap<Layer, ImageResource> partsMap = new HashMap<Layer, ImageResource>();
\r
18 private final PartsIdentifier partsIdentifier;
\r
20 public PartsFiles(PartsIdentifier partsName) {
\r
21 if (partsName == null) {
\r
22 throw new IllegalArgumentException();
\r
24 this.partsIdentifier = partsName;
\r
27 public PartsIdentifier getPartsIdentifier() {
\r
28 return partsIdentifier;
\r
32 public Set<Map.Entry<Layer, ImageResource>> entrySet() {
\r
33 return Collections.unmodifiableSet(partsMap.entrySet());
\r
37 public ImageResource put(final Layer key, final ImageResource value) {
\r
38 if (key == null || value == null) {
\r
39 throw new IllegalArgumentException();
\r
41 if (!partsIdentifier.hasLayer(key)) {
\r
42 throw new IllegalArgumentException(key.toString());
\r
44 return partsMap.put(key, value);
\r
48 public ImageResource get(Object key) {
\r
49 return partsMap.get(key);
\r
53 public boolean containsKey(Object key) {
\r
54 return partsMap.containsKey(key);
\r
57 public long lastModified() {
\r
58 long maxLastModified = 0;
\r
59 for (ImageResource imageResource : values()) {
\r
60 long lastModified = imageResource.lastModified();
\r
61 if (lastModified > maxLastModified) {
\r
62 maxLastModified = lastModified;
\r
65 return maxLastModified;
\r