@Override public Key setKeys(KeyNameMapper keyMapper, Map<String, Key> keyFields) { this.keys = new Key[keyMapper.size()]; for(Map.Entry<String, Key> keyEntry : keyFields.entrySet()) { keys[keyMapper.getIndexForField(keyEntry.getKey())] = keyEntry.getValue(); } return this; }
@Override public Key addKey(KeyNameMapper keyMapper, String name, Key key) { int index = keyMapper.getIndexForField(name); int size = keyMapper.size(); if(keys == null) { keys = new Key[size]; } else if(index < size) { keys = Arrays.copyOf(keys, size); } keys[index] = key; return this; }