Использование локального буфера обмена для передачи ссылок на объекты Java

Использование локального буфера обмена для передачи ссылок на объекты JavaИногда может возникать необходимость в копировании и вставке данных такого типа, которые не поддерживаются системным буфером обмена, то есть не является сериализируемым. Для передачи ссылки на произвольный объект Java в пределах одной и той же виртуальной машины (JVM) применяется тип MIME:

Для этого типа требуется определять объект-оболочку Transferable. Необходимый для этого процесс полостью аналогичен процессу определения объекта-оболочки SerialTransferable.Ссылка на объект имеет значение только в пределах одной виртуальной машины. Поэтому копировать такой объект в системный буфер обмена нельзя. Вместо этого следует использовать локальный буфер обмена:

В качестве параметра конструктору нужно передавать желаемое имя для буфера обмена.

Однако у подхода с использованием локального буфера обмена имеется один серьезный недостаток. Он требует обеспечения синхронизации между локальным и системным буферами, чтобы пользователи их не путали.