Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## profiles
Class ProfileMatcher

    java.lang.Object
      |
      +--java.lang.Thread
            |
            +--profiles.ProfileMatcher

All Implemented Interfaces:
  java.lang.Runnable

public class ProfileMatcher
extends java.lang.Thread

E' il componente per lo scambio dei messaggi. E' un'oggetto attivo che si basa sullo strato sottostante implementato da BasicService.

Version:
  1.0
Author:
  Lorenzo Moretti

Field Summary
`(package private) BasicService` | `bs`
`(package private) long` | `elapsedTimeout`
`(package private) boolean` | `isElected`
`(package private) boolean` | `keepRunning`
`(package private) java.util.Vector` | `profiles`
`(package private) long` | `reqTimeout`
`(package private) long` | `sleepTime`
`(package private) Device` | `thisDevice`
`(package private) Profile` | `thisProfile`

Fields inherited from class java.lang.Thread
`MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

Constructor Summary
`ProfileMatcher(Device device, BasicService basicService, Profile profile)`

Method Summary
`void` | `addProfile(Profile p)` Notifica di quando viene ricevuto un nuovo profilo.
`long` | `getSleepTime()` Tempo di attesa prima di rieffettuare il controllo sui profili.
`boolean` | `isElected()` Indica se il componente è al momento un gestore dei profili.
`void` | `profileRequested(java.lang.String requestor)` Notifica di richiesta di messaggio.
`void` | `run()` Da chiamare tramite start().
`void` | `setSleepTime(long sleepTime)` Tempo di attesa prima di rieffettuare il controllo sui profili.
`void` | `stopRunning()` Ferma l'esecuzione.

Methods inherited from class java.lang.Thread
`activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### thisDevice

    Device thisDevice

### bs

    BasicService bs

### thisProfile

    Profile thisProfile

### sleepTime

    long sleepTime

### reqTimeout

    long reqTimeout

### elapsedTimeout

    long elapsedTimeout

### keepRunning

    boolean keepRunning

### isElected

    boolean isElected

### profiles

    java.util.Vector profiles

Constructor Detail

### ProfileMatcher

    public ProfileMatcher(Device device,
                          BasicService basicService,
                          Profile profile)

Method Detail

### run

    public void run()

  Da chiamare tramite start(). E' il ciclo di ricerca tra i profili per trovare quelli che fanno match.

  Specified by:
    `run` in interface `java.lang.Runnable`
  Overrides:
    `run` in class `java.lang.Thread`

### profileRequested

    public void profileRequested(java.lang.String requestor)

  Notifica di richiesta di messaggio. Al richiedente viene inviato il profilo se l'oggetto non è al momento anch'esso gestore dei profili. In tal caso l'oggetto attuale non si considera più gestore se ha un id più basso del gestore che ha effettuato la richiesta.

  Parameters:
    `requestor` - id del richiedente

### addProfile

    public void addProfile(Profile p)

  Notifica di quando viene ricevuto un nuovo profilo. Il nuovo profilo viene aggiunto nell'elenco dei profili su cui effettuare i controlli di corrispondenza.

### isElected

    public boolean isElected()

  Indica se il componente è al momento un gestore dei profili.

  Returns:
    true se è gestore.

### getSleepTime

    public long getSleepTime()

  Tempo di attesa prima di rieffettuare il controllo sui profili.

  Returns:
    il tempo di attesa.

### setSleepTime

    public void setSleepTime(long sleepTime)

  Tempo di attesa prima di rieffettuare il controllo sui profili.

  Parameters:
    `sleepTime` -

### stopRunning

    public void stopRunning()

  Ferma l'esecuzione.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD