Allowed Classes for Import
For developers: a list of allowed classes/packages that can be imported in user app or driver code
Allowed Classes for Import
As mentioned in the developer overview, the Hubitat Elevation app and driver "sandbox" allows only certain Java/Groovy classes. Packages and classes that are available for import or (if part of the standard Groovy 2.4 environment) included by default are listed below.
- java.util.ArrayList
- java.lang.Math
- java.math.BigDecimal
- java.math.BigInteger
- java.math.RoundingMode
- java.lang.Boolean
- java.lang.Byte
- java.io.ByteArrayInputStream
- java.io.ByteArrayOutputStream
- java.util.Calendar
- groovy.lang.Closure
- java.util.Collection
- java.util.Collections
- java.util.Date
- java.time.Duration
- java.time.LocalDateTime
- java.text.DecimalFormat
- java.lang.Double
- java.lang.Float
- java.util.GregorianCalendar
- java.util.HashMap
- java.util.HashMap.Entry
- java.util.HashMap.KeyIterator
- java.util.HashMap.KeySet
- java.util.HashMap.Values
- java.util.HashSet
- java.lang.Integer
- groovy.json.JsonBuilder
- java.util.LinkedHashMap
- java.util.LinkedHashMap.Entry
- java.util.LinkedHashSet
- java.util.LinkedList
- java.util.List
- java.lang.Long
- java.util.Map
- java.util.Map$Entry
- groovy.xml.MarkupBuilder
- java.util.Random
- java.util.Set
- java.lang.Short
- java.text.SimpleDateFormat
- java.lang.String
- java.lang.StringBuilder
- java.lang.CharSequence
- java.lang.Number
- java.lang.Character
- com.hubitat.app.DeviceWrapper
- com.hubitat.app.ChildDeviceWrapper
- com.hubitat.app.DeviceWrapperList
- com.hubitat.app.EventSubscriptionWrapper
- com.hubitat.app.InstalledAppWrapper
- com.hubitat.app.ParentDeviceWrapper
- com.hubitat.hub.domain.State
- com.hubitat.hub.domain.Event
- com.hubitat.hub.domain.Hub
- com.hubitat.hub.domain.Location
- java.io.StringReader
- java.io.StringWriter
- java.util.SubList
- groovy.time.TimeCategory
- groovy.lang.GString
- hubitat.scheduling.AsyncResponse
- java.util.TimeZone
- java.util.TreeMap
- java.util.TreeMap.Entry
- java.util.TreeMap.KeySet
- java.util.TreeMap.Values
- java.util.TreeSet
- java.util.regex.Matcher
- java.util.regex.Pattern
- java.net.URLDecoder
- java.net.URLEncoder
- java.util.UUID
- java.util.BitSet
- javax.xml.XPath
- javax.xml.XPathConstants
- javax.xml.XPathExpressionImpl
- javax.xml.XPathFactory
- javax.xml.XPathFactoryImpl
- javax.xml.XPathImpl
- sun.util.calendar.ZoneInfo
- com.sun.org.apache.xerces.internal.dom.DocumentImpl
- com.sun.org.apache.xerces.internal.dom.ElementImpl
- groovy.json.JsonOutput
- groovy.json.JsonSlurper
- groovy.util.Node
- groovy.util.NodeList
- groovy.util.XmlParser
- groovy.util.XmlSlurper
- groovy.xml.XmlUtil
- java.net.URI
- java.util.RandomAccessSubList
- org.apache.commons.codec.binary.Base64
- org.apache.xerces.dom.DocumentImpl
- org.apache.xerces.dom.ElementImpl
- org.codehaus.groovy.runtime.EncodingGroovyMethods
- org.json.JSONArray
- org.json.JSONException
- org.json.JSONObject
- org.json.JSONObject.Null
- su.litvak.chromecast.api.v2.ChromeCasts
- java.security.MessageDigest
- javax.jmdns.JmDNS
- java.lang.Exception
- java.lang.Throwable
- groovyx.net.http.HttpResponseException
- groovyx.net.http.Method
- groovyx.net.http.ContentType
- java.lang.Object
- java.lang.StringBuffer
- java.io.OutputStream
- groovy.transform.Field
- groovy.transform.CompileStatic
- com.hubitat.zigbee.DataType
- javax.crypto.Mac
- javax.crypto.spec.SecretKeySpec
- java.security.InvalidKeyException
- java.security.Signature
- java.security.PrivateKey
- java.security.KeyFactory
- java.security.spec.PKCS8EncodedKeySpec
- javax.crypto.spec.IvParameterSpec
- javax.crypto.Cipher
- com.google.common.util.concurrent.Striped
- java.util.concurrent.Semaphore
- java.util.concurrent.TimeUnit
- java.util.concurrent.CopyOnWriteArrayList
- java.util.concurrent.ConcurrentLinkedQueue
- java.util.concurrent.ConcurrentHashMap
- java.util.concurrent.SynchronousQueue
- java.util.concurrent.atomic.AtomicInteger
- java.util.concurrent.atomic.AtomicIntegerArray
- org.quartz.CronExpression
- org.apache.commons.lang3.time.DateUtils
- java.time.Clock
- java.time.Duration
- java.time.Instant
- java.time.LocalDate
- java.time.LocalDateTime
- java.time.LocalTime
- java.time.MonthDay
- java.time.OffsetDateTime
- java.time.OffsetTime
- java.time.Period
- java.time.Year
- java.time.YearMonth
- java.time.ZonedDateTime
- java.time.ZoneId
- java.time.ZoneOffset
- java.time.DayOfWeek
- java.time.Month
- java.time.format.DateTimeFormatter
- java.time.format.DateTimeFormatterBuilder
- java.time.temporal.TemporalAdjusters
- java.util.zip.Deflater
- java.util.zip.Inflater
- java.util.zip.DeflaterInputStream
- java.util.zip.DeflaterOutputStream
- java.util.zip.GZIPInputStream
- java.util.zip.GZIPOutputStream
- java.util.zip.InflaterInputStream
- java.util.zip.InflaterOutputStream
- java.util.zip.ZipInputStream
- java.util.zip.ZipOutputStream
- java.util.zip.DataFormatException
- java.util.zip.ZipException
- java.util.zip.ZipError
- com.nimbusds.jose.PlainObject
- com.nimbusds.jose.JWSObject
- com.nimbusds.jose.Payload
- com.nimbusds.jose.JWEObject
- com.nimbusds.jose.JWEHeader
- com.nimbusds.jose.JOSEObjectType
- com.nimbusds.jose.JWSAlgorithm
- com.nimbusds.jose.JWSSigner
- com.nimbusds.jose.JWTHeader
- com.nimbusds.jose.JWTHeader$Builder
- com.nimbusds.jose.JWTClaimsSet
- com.nimbusds.jose.JWTClaimsSet$Builder
- com.nimbusds.jose.jwk.RSAKey
- com.nimbusds.jose.crypto.RSASSASigner
- com.nimbusds.jose.JWSHeader
- com.nimbusds.jose.JWSHeader$Builder
- com.nimbusds.jose.jwk.JWK
- com.nimbusds.jose.util.X509CertUtils
- com.nimbusds.jwt.PlainJWT
- com.nimbusds.jwt.SignedJWT
- com.nimbusds.jwt.EncryptedJWT
- com.nimbusds.jwt.JWTClaimsSet
- com.nimbusds.jwt.JWTClaimsSet$Builder
- java.util.Locale
- java.util.Locale.Builder
- javax.jmdns.ServiceEvent
- javax.jmdns.impl.ServiceEventImpl
- org.apache.commons.lang3.StringEscapeUtils
- org.apache.commons.lang3.StringUtils
- org.apache.commons.lang3.math.NumberUtils