# Package com.codename1.impl

package com.codename1.impl

The implementation package should not be used by developers, it is an internal implementation detail which will break compatibility between major Codename One releases. The purpose of this package is to provide ISVs, vendors and operators with the ability to customize & enhance Codename One from within without breaking compatability with existing Codename One applications.

A vendor extension begins by extending the CodenameOneImplementation class and implementing the abstract methods within. To use this version of the implementation a user can use the Display class and link to a vendor JAR that doesn't include any portion of Codename One.

- Class
  Description
  CodenameOneImplementation
  Represents a vendor extension mechanizm for Codename One, WARNING: this class is for internal use only and is subject to change in future API revisions.
  CodenameOneThread
  Thread class implementing the crash protection functionality
  FullScreenAdService
  Abstract class for fullscreen ads that appear before and possibly after application execution as well as randomly between application screen transitions.
  ImplementationFactory
  JdkApiRewriteHelper
  Bridge methods used by bytecode rewrite rules for JDK APIs that are risky/unsupported on some targets.
  VirtualKeyboardInterface
  Virtual keyboards needs to implement this interface to be registered as a platform keyboard.
  VServAds
  The v-serv ad service implements full screen ads
  WebSocketEventSink
  Internal sink used by `WebSocketImpl` subclasses to push lifecycle and message events back into the public `com.codename1.io.WebSocket` facade.
  WebSocketImpl
  Platform contract behind the public `com.codename1.io.WebSocket` facade.