SourceLocation { public SourceLocation(final String encoded) { int cidxS = encoded.lastIndexOf(':'); colNr = Integer.parseInt(encoded.substring(cidxS + 1)); int ridxS = encoded.lastIndexOf(':', cidxS - 1); lineNr = Integer.parseInt(encoded.substring(ridxS + 1, cidxS)); filePath = encoded.substring(0, ridxS); } SourceLocation(final String encoded);  SourceLocation(final String filePath, final int lineNr, final int colNr); String getFilePath(); int getLineNr(); int getColNr(); @Override String toString();  }
@Test public void testSourceLocation() { SourceLocation sl = new SourceLocation("src/main/avro/txn/BlBla.avdl:6:5"); Assert.assertEquals(6, sl.getLineNr()); Assert.assertEquals(5, sl.getColNr()); Assert.assertEquals("src/main/avro/txn/BlBla.avdl", sl.getFilePath()); }