Package org.eclipse.packager.rpm.header
Class Header<T extends RpmBaseTag>
- java.lang.Object
-
- org.eclipse.packager.rpm.header.Header<T>
-
- All Implemented Interfaces:
ReadableHeader<T>
public class Header<T extends RpmBaseTag> extends java.lang.Object implements ReadableHeader<T>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceHeader.ArrayAllocator<T>static interfaceHeader.Putter<T extends RpmBaseTag,V>static interfaceHeader.ToShortFunction<T>
-
Constructor Summary
Constructors Constructor Description Header()Header(Header<T> other)Header(HeaderEntry[] entries)Header(HeaderEntry[] entries, java.nio.charset.Charset charset)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectget(int tag)java.lang.Objectget(T tag)java.util.Optional<java.lang.Object>getValue(T tag)Get the value from a header structureHeaderEntry[]makeEntries()Make an array of header entriesHeaderEntry[]makeEntries(java.nio.charset.Charset charset)Make an array of header entries with given charsetvoidputBlob(int tag, byte[] value)voidputBlob(int tag, java.nio.ByteBuffer value)voidputBlob(T tag, byte[] value)voidputBlob(T tag, java.nio.ByteBuffer value)voidputByte(int tag, byte... value)voidputByte(T tag, byte... value)static <E,V,T extends RpmBaseTag>
voidputFields(Header<T> header, java.util.Collection<E> entries, T tag, Header.ArrayAllocator<V> arrayAllocator, java.util.function.Function<E,V> func, Header.Putter<T,V> putter)voidputI18nString(int tag, java.lang.String... value)voidputI18nString(T tag, java.lang.String... value)voidputInt(int tag, int... value)voidputInt(T tag, int... value)static <E,T extends RpmBaseTag>
voidputIntFields(Header<T> header, java.util.Collection<E> entries, T tag, java.util.function.ToIntFunction<E> func)voidputLong(int tag, long... value)voidputLong(T tag, long... value)static <E,T extends RpmBaseTag>
voidputLongFields(Header<T> header, java.util.Collection<E> entries, T tag, java.util.function.ToLongFunction<E> func)voidputNull(int tag)voidputNull(T tag)voidputShort(int tag, short... value)voidputShort(T tag, short... value)static <E,T extends RpmBaseTag>
voidputShortFields(Header<T> header, java.util.Collection<E> entries, T tag, Header.ToShortFunction<E> func)voidputSize(long value, T intTag, T longTag)voidputString(int tag, java.lang.String value)voidputString(T tag, java.lang.String value)voidputStringArray(int tag, java.lang.String... value)voidputStringArray(T tag, java.lang.String... value)voidputStringOptional(int tag, java.lang.String value)voidputStringOptional(T tag, java.lang.String value)voidremove(int tag)voidremove(RpmTag tag)intsize()
-
-
-
Constructor Detail
-
Header
public Header(HeaderEntry[] entries)
-
Header
public Header(HeaderEntry[] entries, java.nio.charset.Charset charset)
-
Header
public Header()
-
-
Method Detail
-
size
public int size()
-
putNull
public void putNull(int tag)
-
putNull
public void putNull(T tag)
-
putByte
public void putByte(int tag, byte... value)
-
putByte
public void putByte(T tag, byte... value)
-
putShort
public void putShort(int tag, short... value)
-
putShort
public void putShort(T tag, short... value)
-
putInt
public void putInt(int tag, int... value)
-
putInt
public void putInt(T tag, int... value)
-
putLong
public void putLong(int tag, long... value)
-
putLong
public void putLong(T tag, long... value)
-
putString
public void putString(int tag, java.lang.String value)
-
putString
public void putString(T tag, java.lang.String value)
-
putStringOptional
public void putStringOptional(int tag, java.lang.String value)
-
putStringOptional
public void putStringOptional(T tag, java.lang.String value)
-
putStringArray
public void putStringArray(int tag, java.lang.String... value)
-
putStringArray
public void putStringArray(T tag, java.lang.String... value)
-
putI18nString
public void putI18nString(int tag, java.lang.String... value)
-
putI18nString
public void putI18nString(T tag, java.lang.String... value)
-
putBlob
public void putBlob(int tag, byte[] value)
-
putBlob
public void putBlob(int tag, java.nio.ByteBuffer value)
-
putBlob
public void putBlob(T tag, byte[] value)
-
putBlob
public void putBlob(T tag, java.nio.ByteBuffer value)
-
remove
public void remove(int tag)
-
remove
public void remove(RpmTag tag)
-
get
public java.lang.Object get(int tag)
-
get
public java.lang.Object get(T tag)
-
getValue
public java.util.Optional<java.lang.Object> getValue(T tag)
Description copied from interface:ReadableHeaderGet the value from a header structure- Specified by:
getValuein interfaceReadableHeader<T extends RpmBaseTag>- Parameters:
tag- the tag- Returns:
- the optional value
-
makeEntries
public HeaderEntry[] makeEntries(java.nio.charset.Charset charset)
Make an array of header entries with given charsetNote: Further updates on this instance will not update the returned array. This is actually a copy of the current state.
- Parameters:
charset- the charset of choice- Returns:
- a new array of all header entries, unsorted
-
makeEntries
public HeaderEntry[] makeEntries()
Make an array of header entriesNote: Further updates on this instance will not update the returned array. This is actually a copy of the current state.
- Returns:
- a new array of all header entries, unsorted
-
putFields
public static <E,V,T extends RpmBaseTag> void putFields(Header<T> header, java.util.Collection<E> entries, T tag, Header.ArrayAllocator<V> arrayAllocator, java.util.function.Function<E,V> func, Header.Putter<T,V> putter)
-
putShortFields
public static <E,T extends RpmBaseTag> void putShortFields(Header<T> header, java.util.Collection<E> entries, T tag, Header.ToShortFunction<E> func)
-
putIntFields
public static <E,T extends RpmBaseTag> void putIntFields(Header<T> header, java.util.Collection<E> entries, T tag, java.util.function.ToIntFunction<E> func)
-
putLongFields
public static <E,T extends RpmBaseTag> void putLongFields(Header<T> header, java.util.Collection<E> entries, T tag, java.util.function.ToLongFunction<E> func)
-
-