XMLResources implements Comparator<Object> { @Pure public final long getIdentifier(URL url) { final Long id = getIdentifierFromResource(url); if (id == null) { return -1; } return id.longValue(); } XMLResources(PathBuilder pathBuilder); @Override @SuppressWarnings({"checkstyle:cyclomaticcomplexity", "checkstyle:npathcomplexity"}) @Pure int compare(Object o1, Object o2); @Pure static String getStringIdentifier(long identifier); @Pure static boolean isStringIdentifier(String str); @SuppressWarnings("checkstyle:magicnumber") @Pure static long getNumericalIdentifier(String identifier); synchronized String add(long identifier, URL url, String mimeType); synchronized String add(long identifier, File file, String mimeType); synchronized String add(long identifier, byte[] rawData, String mimeType); @Inline(value = "add($1, null)") final String add(URL url); @Inline(value = "add(-1, $1, $2)") final String add(URL url, String mimeType); @Inline(value = "add($1, null)") final String add(File file); @Inline(value = "add(-1, $1, $2)") final String add(File file, String mimeType); @Inline(value = "add($1, null)") final String add(byte[] rawData); @Inline(value = "add(-1, $1, $2)") final String add(byte[] rawData, String mimeType); synchronized long computeNextIdentifier(); @Pure final long getIdentifier(URL url); @Pure final long getIdentifier(File file); @Pure final long getIdentifier(byte[] rawData); @Pure final URL getResourceURL(long identifier); @Pure @Inline(value = "getResourceFromIdentifier($1)") final Entry getResource(long identifier); synchronized void remove(URL url); synchronized void remove(File file); synchronized void remove(byte[] rawData); synchronized void remove(long identifier); @Pure Map<Long, Entry> getPairs(); synchronized void clear(); static final String IDENTIFIER_PREFIX; }
@Test public void getIdentifierURL() throws Exception { assertEquals(-1, this.xml.getIdentifier(new URL("file:x"))); assertEquals(2, this.xml.getIdentifier(new URL("file:a.txt"))); assertEquals(3, this.xml.getIdentifier(new URL("file:b.txt"))); assertEquals(4, this.xml.getIdentifier(new URL("file:a.jpg"))); }
@Test public void getIdentifierFile() { assertEquals(-1, this.xml.getIdentifier(new File("x"))); assertEquals(2, this.xml.getIdentifier(new File("a.txt"))); assertEquals(3, this.xml.getIdentifier(new File("b.txt"))); assertEquals(4, this.xml.getIdentifier(new File("a.jpg"))); }
@Test public void getIdentifierByteAray() { assertEquals(-1, this.xml.getIdentifier(new byte[0])); assertEquals(-1, this.xml.getIdentifier(new byte[] { 1, 2, 3 })); assertEquals(1, this.xml.getIdentifier(this.data)); }