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

Scala example source code file (RemoteIntRef.scala)

This example Scala source code file (RemoteIntRef.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

int, int, intref, remoteintref, remoteintref, remoteintrefimpl, remoteintrefimpl, string, unicastremoteobject, unicastremoteobject, unreferenced

The Scala RemoteIntRef.scala source code

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

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

package scala.runtime.remoting

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

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

/**
 * The class <code>RemoteIntRefImpl implements a remote (global)
 * integer reference by inheriting from the class
 * <code>UnicastRemoteObject.
 *
 * In particular, it forwards method invocations to the <code>elem
 * accessors of class <code>runtime.IntRef 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 RemoteIntRefImpl(name: String, x: IntRef)
extends UnicastRemoteObject with RemoteIntRef with Unreferenced {
  def elem_=(value: Int) { x.elem = value }
  def elem: Int = x.elem
  override def toString() = x.elem.toString
  def unreferenced() {
    Debug.info("[RemoteIntRefImpl] unreferenced: "+this)
    RemoteRef.unbind(name)
  }
}

Other Scala examples (source code examples)

Here is a short list of links related to this Scala RemoteIntRef.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.