/** * Check if an entry is consistent with specific properties. * * <p>A null String argument always matches. Strings are used for convenience in GUI building. * * @param r the roster entry being checked * @param roadName road name of entry or null for any road name * @param roadNumber road number of entry of null for any number * @param dccAddress address of entry or null for any address * @param mfg manufacturer of entry or null for any manufacturer * @param decoderModel decoder model of entry or null for any model * @param decoderFamily decoder family of entry or null for any family * @param id id of entry or null for any id * @param group group entry is member of or null for any group * @return True if the entry matches */ public boolean checkEntry( RosterEntry r, String roadName, String roadNumber, String dccAddress, String mfg, String decoderModel, String decoderFamily, String id, String group) { if (id != null && !id.equals(r.getId())) { return false; } if (roadName != null && !roadName.equals(r.getRoadName())) { return false; } if (roadNumber != null && !roadNumber.equals(r.getRoadNumber())) { return false; } if (dccAddress != null && !dccAddress.equals(r.getDccAddress())) { return false; } if (mfg != null && !mfg.equals(r.getMfg())) { return false; } if (decoderModel != null && !decoderModel.equals(r.getDecoderModel())) { return false; } if (decoderFamily != null && !decoderFamily.equals(r.getDecoderFamily())) { return false; } if (group != null && !Roster.ALLENTRIES.equals(group) && (r.getAttribute(Roster.getRosterGroupProperty(group)) == null || !r.getAttribute(Roster.getRosterGroupProperty(group)).equals("yes"))) { // NOI18N return false; } return true; }