Java Jar Manifest merge(Manifest into, Manifest from)

Here you can find the source of merge(Manifest into, Manifest from)

Description

Merge entries from two Manifests together, with existing attributes being overwritten.

License

Apache License

Parameter

Parameter Description
into The Manifest to modify.
from The Manifest to copy from.

Declaration

private static void merge(Manifest into, Manifest from) 

Method Source Code

//package com.java2s;
/*/* ww w. j  a v  a2 s  .com*/
 * Copyright 2014-present Facebook, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may
 * not use this file except in compliance with the License. You may obtain
 * a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */

import java.util.Map;

import java.util.jar.Attributes;

import java.util.jar.Manifest;

public class Main {
    /**
     * Merge entries from two Manifests together, with existing attributes being
     * overwritten.
     *
     * @param into The Manifest to modify.
     * @param from The Manifest to copy from.
     */
    private static void merge(Manifest into, Manifest from) {

        Attributes attributes = from.getMainAttributes();
        if (attributes != null) {
            for (Map.Entry<Object, Object> attribute : attributes.entrySet()) {
                into.getMainAttributes().put(attribute.getKey(), attribute.getValue());
            }
        }

        Map<String, Attributes> entries = from.getEntries();
        if (entries != null) {
            for (Map.Entry<String, Attributes> entry : entries.entrySet()) {
                into.getEntries().put(entry.getKey(), entry.getValue());
            }
        }
    }
}

Related

  1. getManifestValue(JarFile jarFile, String key, String defaultValue)
  2. getManifestVersionNumber(File file)
  3. getValueFromAttr(Attributes attributes, String manifestValue)
  4. isOSGiManifest(Manifest manifest)
  5. manifestToProperties(Attributes d)
  6. stripManifest(Manifest manifestIn)