# IsObject

Determines whether a value is an object.

True conditions are:

* Box Class instances are "objects"
* All other classes that represent a Boxlang type are NOT "objects" (query, array, struct, XML, etc)
* These JDK classes which are used for "simple" BoxLang types are also not "objects" (String, Number, Boolean)
* Every other Java class is an "object"

## Method Signature

```
IsObject(value=[any])
```

### Arguments

| Argument | Type  | Required | Description       | Default |
| -------- | ----- | -------- | ----------------- | ------- |
| `value`  | `any` | `true`   | The value to test |         |

## Examples

### isObject Example

Returns true if the parameter is a BL object. The BL object here is a Java object.

[Run Example](https://try.boxlang.io/?code=eJwrSsxLyc9VsFVILkpNLEn1T8pKTS7RUFDKSixLVNKB0HrFqcmlRZkllXrBIEZqEFiPkoKmXnpqiWdecUliXnIqUE%2Bwh6NhQJCfO1DGmqscqCHVv7SkoBRoXGYxzOAiiH2aICUASxQo5w%3D%3D)

```java
random = createObject( "java", "java.security.SecureRandom" ).getInstance( "SHA1PRNG" );
writeOutput( isObject( random ) );

```

Result: true

### isObject Example for Other Data Types

Returns false if the parameter is any data type other than a BL object

[Run Example](https://try.boxlang.io/?code=eJxLrUjMLchJVbBVqFbg4lTKS8xNVVKwUlDyVEjMVUhUKC4pKk0uUeKqteYqL8osSfUvLSkoLdFQyCz2T8pKTQayUqEGaCpoWnMBALczGEY%3D)

```java
example = { 
	"name" : "I am a struct"
};
writeOutput( isObject( example ) );

```

Result: false

### Additional Examples

[Run Example](https://try.boxlang.io/?code=eJyVkEELwjAMhe%2F%2BitDTBlLwLLuoBxHUw35BNrIto9aRtSv%2Be%2BsKIszLTjnkve%2FlJQg7OvnHkIHBikyhSidsW5jQeFLbOKXg8V71VLsMVOlHVpBDvt%2BEhfWryyGw6wBF8AWNt7Xjp13A5vWNQga7D%2FE%2F8yiEjpIF2MIFJ1yQ6h9RPLJPmnlq79joM47dFQe1Lie1YMux0apMg7bV6ZEH3zQkMVgnTsp%2FAy9re7Q%3D)

```java
writeDump( label="String value", var=isObject( "Susi" ) );
writeDump( label="isObject() with array function", var=isObject( arrayNew( 1 ) ) );
writeDump( label="CreateObject in Java", var=isObject( createObject( "java", "java.util.HashMap" ) ) );
writeDump( label="CreateObject in Java with init()", var=isObject( createObject( "java", "java.lang.StringBuffer" ).init() ) );

```

## Related

* [ArrayIsEmpty](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/arrayisempty)
* [arrayIsEmpty](https://github.com/ortus-boxlang/boxlang-docs/blob/v1.x/boxlang-language/reference/built-in-functions/decision/arrayIsEmpty.md)
* [Attempt](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/attempt)
* [IsArray](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isarray)
* [IsBinary](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isbinary)
* [IsBoolean](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isboolean)
* [IsClosure](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isclosure)
* [IsCustomFunction](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/iscustomfunction)
* [IsDate](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isdate)
* [IsDateObject](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isdateobject)
* [IsDebugMode](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isdebugmode)
* [IsDefined](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isdefined)
* [IsEmpty](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isempty)
* [IsFileObject](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isfileobject)
* [IsIPv6](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isipv6)
* [IsJSON](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isjson)
* [IsLeapYear](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isleapyear)
* [IsLocalHost](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/islocalhost)
* [IsNull](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isnull)
* [IsNumeric](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isnumeric)
* [IsNumericDate](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isnumericdate)
* [IsQuery](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isquery)
* [IsSimpleValue](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/issimplevalue)
* [IsStruct](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isstruct)
* [IsValid](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isvalid)
* [IsXML](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isxml)
* [IsXmlAttribute](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isxmlattribute)
* [IsXMLDoc](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isxmldoc)
* [IsXMLElem](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isxmlelem)
* [IsXMLNode](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isxmlnode)
* [IsXMLRoot](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/isxmlroot)
* [LSIsNumeric](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/lsisnumeric)
* [structIsEmpty](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/decision/structisempty)
