package ...; import ...; public aspect NodeCoordinate { declare parents: INode implements IBlueprintItem; /** .*/ private ICoordinate IBlueprintItem.coordinate; /** if true, the item is locked to the current coordinate. */ private boolean IBlueprintItem.locked; /** .*/ public ICoordinate INode.getCoordinate() { return coordinate; } public void INode.setCoordinate(ICoordinate aCoordinate) { coordinate = aCoordinate; } public boolean INode.isLocked(){ return locked; } public Object INode.getId() { return this.getCargo(); //getCargo(); } public static void main(String[] args){ Dummy node = new Dummy("123"); // EasyMock.createNiceMock(Dummy.class); // node.getCargo(); // EasyMock.expectLastCall().andReturn("123"); // EasyMock.replay(node); Object id = ((IBlueprintItem) node).getId(); // EasyMock.verify(node); assertNotNull(id); assertEquals("123", id); System.out.println("id=" + id); } }