forked from elastic/elasticsearch
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Types.java
30 lines (26 loc) · 997 Bytes
/
Types.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
package org.elasticsearch.core;
/**
* Contains utilities for working with Java types.
*/
public abstract class Types {
private Types() {}
/**
* There are some situations where we cannot appease javac's type checking, and we
* need to forcibly cast an object's type. Please don't use this method unless you
* have no choice.
* @param argument the object to cast
* @param <T> the inferred type to which to cast the argument
* @return a cast version of the argument
*/
@SuppressWarnings("unchecked")
public static <T> T forciblyCast(Object argument) {
return (T) argument;
}
}