alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Scala example source code file (RemoteCharRef.scala)

This example Scala source code file (RemoteCharRef.scala) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Scala tags/keywords

char, char, charref, remotecharref, remotecharref, remotecharrefimpl, remotecharrefimpl, string, unicastremoteobject, unicastremoteobject, unreferenced

The Scala RemoteCharRef.scala source code

/*                     __                                               *\
**     ________ ___   / /  ___     Scala API                            **
**    / __/ __// _ | / /  / _ |    (c) 2002-2011, LAMP/EPFL             **
**  __\ \/ /__/ __ |/ /__/ __ |    http://scala-lang.org/               **
** /____/\___/_/ |_/____/_/ | |                                         **
**                          |/                                          **
\*                                                                      */

// $Id: RemoteCharRef.scala 18398 2009-07-28 14:26:36Z michelou $

package scala.runtime.remoting

import java.rmi.server.{UnicastRemoteObject, Unreferenced}
import scala.runtime.{CharRef, RemoteRef}

/**
 * The trait Remote<code>RemoteCharRef provides a remote interface
 * for manipulating character references.
 *
 * @author Stephane Micheloud
 * @version 1.0
 */
@remote
trait RemoteCharRef {
  def elem_=(value: Char)
  def elem: Char
}

/**
 * The class <code>RemoteCharRefImpl implements a remote (global)
 * character reference by inheriting from the class
 * <code>UnicastRemoteObject.
 *
 * In particular, it forwards method invocations to the <code>elem
 * accessors of class <code>runtime.CharRef and implements the
 * <code>java.rmi.server.Unreferenced interface to automatically
 * remove the no more referenced binding from the registry.
 *
 * @author Stephane Micheloud
 * @version 1.0
 */
class RemoteCharRefImpl(name: String, x: CharRef)
extends UnicastRemoteObject with RemoteCharRef with Unreferenced {
  def elem_=(value: Char) { x.elem = value }
  def elem: Char = x.elem
  override def toString() = x.elem.toString
  def unreferenced() {
    Debug.info("[RemoteCharRefImpl] unreferenced: "+this)
    RemoteRef.unbind(name)
  }
}

Other Scala examples (source code examples)

Here is a short list of links related to this Scala RemoteCharRef.scala source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.