View Javadoc
1   /*
2    * SPDX-FileCopyrightText: Copyright (c) 2012-2025 Yegor Bugayenko
3    * SPDX-License-Identifier: MIT
4    */
5   package com.jcabi.manifests;
6   
7   import java.io.IOException;
8   import java.util.Map;
9   import java.util.Set;
10  
11  /**
12   * Map of manifest attributes.
13   *
14   * @see Manifests
15   * @since 1.1
16   */
17  public interface MfMap {
18  
19      /**
20       * Get size of attributes map.
21       * @return Size of attributes map
22       * @since 2.0
23       */
24      int size();
25  
26      /**
27       * Check if attributes map is empty.
28       * @return True if attributes map is empty and false otherwise
29       * @since 2.0
30       */
31      boolean isEmpty();
32  
33      /**
34       * Check if attributes map contains the given key.
35       * @param key Attribute name
36       * @return True if attributes map contains the given key, and false otherwise
37       * @since 2.0
38       */
39      boolean containsKey(String key);
40  
41      /**
42       * Check if attributes map contains the given value.
43       * @param value Attribute value
44       * @return True if attributes map contains the given value, and false otherwise
45       * @since 2.0
46       */
47      boolean containsValue(String value);
48  
49      /**
50       * Get attribute value by its key.
51       * @param key Attribute name
52       * @return Value of the attribute, and null if attribute not found
53       */
54      String get(String key);
55  
56      /**
57       * Get a copy of attributes map.
58       * @return Copy of attributes map
59       * @since 2.0
60       */
61      Map<String, String> getAsMap();
62  
63      /**
64       * Get a copy of a set of attributes keys.
65       * @return Copy of a set of attributes keys
66       * @since 2.0
67       */
68      Set<String> keySet();
69  
70      /**
71       * Append this collection of MANIFEST.MF files.
72       *
73       * This method changes the original instance.
74       *
75       * @param mfs Content to append
76       * @throws IOException If fails on I/O problem
77       * @since 2.0.0
78       */
79      void append(Mfs mfs) throws IOException;
80  }