@SuppressWarnings("unchecked") private <T extends BaseAddress> T buildAddress() { switch (addressType) { case Group: GroupAddress groupAddr = new GroupAddress(); groupAddr.setAddressId(addressId); groupAddr.setName(name); return (T) groupAddr; case Party: PartyAddress partyAddr = new PartyAddress(); partyAddr.setAddressId(addressId); partyAddr.setName(name); return (T) partyAddr; case Physical: PhysicalAddress physicalAddr = new PhysicalAddress(); physicalAddr.setAddressId(addressId); physicalAddr.setAddress(address); physicalAddr.setServiceId(serviceId); return (T) physicalAddr; default: return null; } }
protected void write(List<PingData> list, OutputStream out) throws Exception { try { for (PingData data : list) { String logical_name = data.getLogicalName(); Address addr = data.getAddress(); PhysicalAddress phys_addr = data.getPhysicalAddr(); if (logical_name == null || addr == null || phys_addr == null) continue; out.write(logical_name.getBytes()); out.write(WHITESPACE); out.write(addressAsString(addr).getBytes()); out.write(WHITESPACE); out.write(phys_addr.toString().getBytes()); out.write(WHITESPACE); out.write( data.isCoord() ? String.format("T%n").getBytes() : String.format("F%n").getBytes()); } } finally { Util.close(out); } }