Package org.glassfish.tyrus.core
Class Utils
java.lang.Object
org.glassfish.tyrus.core.Utils
Utility methods shared among Tyrus modules.
- Author:
- Pavel Bucek
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ByteBufferappendBuffers(ByteBuffer buffer, ByteBuffer buffer1, int incomingBufferSize, int BUFFER_STEP_SIZE) Concatenates two buffers into one.static <T> voidcheckNotNull(T reference, String parameterName) Check for null.static <T> StringgetHeaderFromList(List<T> list) Creates singleStringvalue from provided List by callingObject.toString()on each item and separating existing ones with", ".static <T> StringgetHeaderFromList(List<T> list, Utils.Stringifier<T> stringifier) Convert list of values to singeStringusable as HTTP header value.static <T> TGet typed property from generic property map.static <T> TGet typed property from generic property map.static byte[]getRemainingArray(ByteBuffer buffer) Creates the array of bytes containing the bytes from the position to the limit of theByteBuffer.getStringList(List<T> list, Utils.Stringifier<T> stringifier) Get list of strings from List<T>.static intGet port from providedURI.static intGet port from providedURI.parseHeaderValue(String headerValue) Parse header value - splits multiple values (quoted, unquoted) separated by comma.static DateparseHttpDate(String stringValue) Parse HTTP date.static StringstringifyUpgradeRequest(UpgradeRequest upgradeRequest) Converts upgrade request to a HTTP-formatted string.static StringstringifyUpgradeResponse(UpgradeResponse upgradeResponse) Converts upgrade response to a HTTP-formatted string.static byte[]toArray(long value) Convertlongtobyte[].static longtoLong(byte[] bytes, int start, int end) Convertbyte[]tolong.toString(byte[] bytes) toString(byte[] bytes, int start, int end)
-
Constructor Details
-
Utils
public Utils()
-
-
Method Details
-
parseHeaderValue
Parse header value - splits multiple values (quoted, unquoted) separated by comma.- Parameters:
headerValue- string containing header values.- Returns:
- split list of values.
-
getRemainingArray
Creates the array of bytes containing the bytes from the position to the limit of theByteBuffer.- Parameters:
buffer- where the bytes are taken from.- Returns:
- array of bytes containing the bytes from the position to the limit of the
ByteBuffer.
-
getHeaderFromList
Creates singleStringvalue from provided List by callingObject.toString()on each item and separating existing ones with", ".- Type Parameters:
T- item type.- Parameters:
list- to be serialized.- Returns:
- single
Stringcontaining all items from provided list.
-
getStringList
Get list of strings from List<T>.- Type Parameters:
T- type to be converted.- Parameters:
list- list to be converted.stringifier- strignifier used for conversion. Whennull,Object.toString()method will be used.- Returns:
- converted list.
-
getHeaderFromList
Convert list of values to singeStringusable as HTTP header value.- Type Parameters:
T- type to be converted.- Parameters:
list- list of values.stringifier- strignifier used for conversion. Whennull,Object.toString()method will be used.- Returns:
- serialized list.
-
checkNotNull
Check for null. ThrowsIllegalArgumentExceptionif provided value is null.- Type Parameters:
T- object type.- Parameters:
reference- object to check.parameterName- name of parameter to be formatted into localized message of thrownIllegalArgumentException.
-
toArray
public static byte[] toArray(long value) Convertlongtobyte[].- Parameters:
value- to be converted.- Returns:
- converted value.
-
toLong
public static long toLong(byte[] bytes, int start, int end) Convertbyte[]tolong.- Parameters:
bytes- to be converted.start- start index.end- end index.- Returns:
- converted value.
-
toString
-
toString
-
appendBuffers
public static ByteBuffer appendBuffers(ByteBuffer buffer, ByteBuffer buffer1, int incomingBufferSize, int BUFFER_STEP_SIZE) Concatenates two buffers into one. If buffer given as first argument has enough space for putting the other one, it will be done and the original buffer will be returned. Otherwise new buffer will be created.- Parameters:
buffer- first buffer.buffer1- second buffer.incomingBufferSize- incoming buffer size. Concatenation length cannot be bigger than this value.BUFFER_STEP_SIZE- buffer step size.- Returns:
- concatenation.
- Throws:
IllegalArgumentException- when the concatenation length is bigger than provided incoming buffer size.
-
getProperty
Get typed property from generic property map.- Type Parameters:
T- type of value to be retrieved.- Parameters:
properties- property map.key- key of value to be retrieved.type- type of value to be retrieved.- Returns:
- typed value or
nullif property is not set or value is not assignable.
-
getProperty
public static <T> T getProperty(Map<String, Object> properties, String key, Class<T> type, T defaultValue) Get typed property from generic property map.- Type Parameters:
T- type of value to be retrieved.- Parameters:
properties- property map.key- key of value to be retrieved.type- type of value to be retrieved.defaultValue- value returned when record does not exist in supplied map.- Returns:
- typed value or
nullif property is not set or value is not assignable.
-
getWsPort
Get port from providedURI.Expected schemes are
"ws"and"wss"and this method will return80or443when the port is not explicitly set in the providedURI.- Parameters:
uri- provided uri.- Returns:
- port number which should be used for creating connections/etc.
-
getWsPort
Get port from providedURI.Expected schemes are
"ws"and"wss"and this method will return80or443when the port is not explicitly set in the providedURI.- Parameters:
uri- provided uri.scheme- scheme to be used when checking for"ws"and"wss".- Returns:
- port number which should be used for creating connections/etc.
-
parseHttpDate
Parse HTTP date.HTTP applications have historically allowed three different formats for the representation of date/time stamps:
Sun, 06 Nov 1994 08:49:37 GMT(RFC 822, updated by RFC 1123)Sunday, 06-Nov-94 08:49:37 GMT(RFC 850, obsoleted by RFC 1036)Sun Nov 6 08:49:37 1994(ANSI C's asctime() format)
- Parameters:
stringValue- String value to be parsed.- Returns:
- A
Dateparsed from the string. - Throws:
ParseException- if the specified string cannot be parsed in neither of all three HTTP date formats.
-
stringifyUpgradeRequest
Converts upgrade request to a HTTP-formatted string.- Parameters:
upgradeRequest- upgrade request to be formatted.- Returns:
- stringified upgrade request.
-
stringifyUpgradeResponse
Converts upgrade response to a HTTP-formatted string.- Parameters:
upgradeResponse- upgrade request to be formatted.- Returns:
- stringified upgrade request.
-