// Path: api/src/main/java/com/github/chrisprice/phonegapbuild/api/data/HasResourceIdAndPath.java
// public interface HasResourceIdAndPath<T extends AbstractResource> extends HasResourceId<T>,
//  HasResourcePath<T> {
// 
// }
// 
// Path: api/src/main/java/com/github/chrisprice/phonegapbuild/api/data/ResourceId.java
// public class ResourceId<T extends AbstractResource> {
//   private final int id;
// 
//   public ResourceId(int id) {
//     this.id = id;
//   }
// 
//   public int getId() {
//     return id;
//   }
// 
//   @Override
//   public String toString() {
//     return Integer.toString(id);
//   }
// 
//   @Override
//   public int hashCode() {
//     final int prime = 31;
//     int result = 1;
//     result = prime * result + id;
//     return result;
//   }
// 
//   @SuppressWarnings("rawtypes")
//   @Override
//   public boolean equals(Object obj) {
//     if (this == obj)
//       return true;
//     if (obj == null)
//       return false;
//     if (getClass() != obj.getClass())
//       return false;
//     ResourceId other = (ResourceId) obj;
//     if (id != other.id)
//       return false;
//     return true;
//   }
// }
// 
// Path: api/src/main/java/com/github/chrisprice/phonegapbuild/api/data/resources/AbstractResource.java
// public abstract class AbstractResource {
// }


import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.codehaus.plexus.component.annotations.Component;
import com.github.chrisprice.phonegapbuild.api.data.HasResourceIdAndPath;
import com.github.chrisprice.phonegapbuild.api.data.ResourceId;
import com.github.chrisprice.phonegapbuild.api.data.resources.AbstractResource;
package com.github.chrisprice.phonegapbuild.plugin.utils;




@Component(role = ResourceIdStore.class, hint = "file", instantiationStrategy = "per-lookup")
public class FileResourceIdStore<T extends AbstractResource> implements ResourceIdStore<T> {
  private String alias;
  private File workingDirectory;
  private Integer overrideId;

// Path: api/src/main/java/com/github/chrisprice/phonegapbuild/api/data/HasResourceIdAndPath.java
// public interface HasResourceIdAndPath<T extends AbstractResource> extends HasResourceId<T>,
//  HasResourcePath<T> {
// 
// }
// 
// Path: api/src/main/java/com/github/chrisprice/phonegapbuild/api/data/ResourceId.java
// public class ResourceId<T extends AbstractResource> {
//   private final int id;
// 
//   public ResourceId(int id) {
//     this.id = id;
//   }
// 
//   public int getId() {
//     return id;
//   }
// 
//   @Override
//   public String toString() {
//     return Integer.toString(id);
//   }
// 
//   @Override
//   public int hashCode() {
//     final int prime = 31;
//     int result = 1;
//     result = prime * result + id;
//     return result;
//   }
// 
//   @SuppressWarnings("rawtypes")
//   @Override
//   public boolean equals(Object obj) {
//     if (this == obj)
//       return true;
//     if (obj == null)
//       return false;
//     if (getClass() != obj.getClass())
//       return false;
//     ResourceId other = (ResourceId) obj;
//     if (id != other.id)
//       return false;
//     return true;
//   }
// }
// 
// Path: api/src/main/java/com/github/chrisprice/phonegapbuild/api/data/resources/AbstractResource.java
// public abstract class AbstractResource {
// }


// Path: plugin/src/main/java/com/github/chrisprice/phonegapbuild/plugin/utils/FileResourceIdStore.java
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.codehaus.plexus.component.annotations.Component;
import com.github.chrisprice.phonegapbuild.api.data.HasResourceIdAndPath;
import com.github.chrisprice.phonegapbuild.api.data.ResourceId;
import com.github.chrisprice.phonegapbuild.api.data.resources.AbstractResource;

package com.github.chrisprice.phonegapbuild.plugin.utils;




@Component(role = ResourceIdStore.class, hint = "file", instantiationStrategy = "per-lookup")
public class FileResourceIdStore<T extends AbstractResource> implements ResourceIdStore<T> {
  private String alias;
  private File workingDirectory;
  private Integer overrideId;

  public HasResourceIdAndPath<T> load(HasResourceIdAndPath<T>[] remoteResources) {