/** * Retrieves a current record from the database based upon the key fields of <em>nodeID</em> and * <em>ipAddr</em>. If the record cannot be found then a null reference is returned. * * @param db The database connection used to load the entry. * @param nid The node id key * @param addr The IP address. * @param ifIndex The interface index. * @return The loaded entry or null if one could not be found. */ public static DbIpInterfaceEntry get(Connection db, long nid, InetAddress addr, int ifIndex) throws SQLException { DbIpInterfaceEntry entry = new DbIpInterfaceEntry(nid, addr, ifIndex, true); if (!entry.load(db)) { entry = null; } return entry; }
/** * Clones an existing entry. * * @param entry The entry to be cloned * @return a new DbIpInterfaceEntry identical to the original */ public static DbIpInterfaceEntry clone(DbIpInterfaceEntry entry) { DbIpInterfaceEntry clonedEntry = create(entry.getNodeId(), entry.getIfAddress()); clonedEntry.m_fromDb = entry.m_fromDb; clonedEntry.m_ifIndex = entry.m_ifIndex; clonedEntry.m_managedState = entry.m_managedState; clonedEntry.m_status = entry.m_status; clonedEntry.m_lastPoll = entry.m_lastPoll; clonedEntry.m_primaryState = entry.m_primaryState; clonedEntry.m_changed = entry.m_changed; return clonedEntry; }
/** * For debugging only * * @param args an array of {@link java.lang.String} objects. */ public static void main(String[] args) { try { DbIpInterfaceEntry entry = DbIpInterfaceEntry.get(Integer.parseInt(args[0]), InetAddressUtils.addr(args[1])); System.out.println(entry.toString()); DbIfServiceEntry[] services = entry.getServices(); for (int i = 0; i < services.length; i++) { System.out.println(services[i].toString()); } } catch (Throwable t) { t.printStackTrace(); } }