AbstractPreferences Classe

Definizione

Questa classe fornisce un'implementazione scheletra della Preferences classe, semplificando notevolmente l'attività di implementazione.

[Android.Runtime.Register("java/util/prefs/AbstractPreferences", DoNotGenerateAcw=true)]
public abstract class AbstractPreferences : Java.Util.Prefs.Preferences
[<Android.Runtime.Register("java/util/prefs/AbstractPreferences", DoNotGenerateAcw=true)>]
type AbstractPreferences = class
    inherit Preferences
Ereditarietà
AbstractPreferences
Attributi

Commenti

Questa classe fornisce un'implementazione scheletra della Preferences classe, semplificando notevolmente l'attività di implementazione.

<strong>Questa classe è solo per Preferences gli implementatori. Gli utenti normali della Preferences struttura non devono dover consultare questa documentazione. La Preferences documentazione dovrebbe essere sufficiente.</strong>

Gli implementatori devono eseguire l'override dei nove metodi SPI (Service Provider Interface) astratti: #getSpi(String), #putSpi(String,String)#removeSpi(String)#childSpi(String)#removeNodeSpi(), #keysSpi(), #childrenNamesSpi(), #syncSpi() e .#flushSpi() Tutti i metodi concreti specificano esattamente come vengono implementati su questi metodi SPI. L'implementatore può, a sua discrezione, eseguire l'override di uno o più metodi concreti se l'implementazione predefinita non è soddisfacente per qualsiasi motivo, ad esempio le prestazioni.

I metodi SPI rientrano in tre gruppi relativi al comportamento delle eccezioni. Il getSpi metodo non deve mai generare eccezioni, ma non importa, perché qualsiasi eccezione generata da questo metodo verrà intercettata da #get(String,String), che restituirà il valore predefinito specificato al chiamante. I removeNodeSpi, keysSpi, childrenNamesSpi, syncSpi metodi e flushSpi vengono specificati per generare BackingStoreExceptione l'implementazione è necessaria per generare questa eccezione controllata se non è in grado di eseguire l'operazione. L'eccezione si propaga verso l'esterno, causando l'esito negativo del metodo API corrispondente.

I metodi #putSpi(String,String)#removeSpi(String) SPI rimanenti e #childSpi(String) hanno un comportamento di eccezione più complesso. Non vengono specificati per generare BackingStoreException, perché in genere possono obbedire ai contratti anche se l'archivio di backup non è disponibile. Ciò è vero perché non restituiscono informazioni e i relativi effetti non sono necessari per diventare permanenti fino a quando non viene eseguita una chiamata successiva a Preferences#flush() o Preferences#sync(). In generale, questi metodi SPI non devono generare eccezioni. In alcune implementazioni, potrebbero esserci circostanze in cui queste chiamate non possono nemmeno accodare l'operazione richiesta per un'elaborazione successiva. Anche in queste circostanze è in genere preferibile ignorare semplicemente la chiamata e la restituzione, anziché generare un'eccezione. In queste circostanze, tuttavia, tutte le chiamate successive di flush() e dovrebbero restituire sync, come la restituzione false implica che tutte le operazioni precedenti erano true state rese permanenti.

Esiste una circostanza in cui putSpi, removeSpi and childSpideve generare un'eccezione: se il chiamante non dispone di privilegi sufficienti per il sistema operativo sottostante per eseguire l'operazione richiesta. Ciò avverrà, ad esempio, nella maggior parte dei sistemi se un utente senza privilegi tenta di modificare le preferenze di sistema. I privilegi necessari variano dall'implementazione all'implementazione. In alcune implementazioni, sono il diritto di modificare il contenuto di alcune directory nel file system; in altri sono il diritto di modificare il contenuto di alcune chiavi in un Registro di sistema. In una di queste circostanze, in genere sarebbe indesiderato consentire al programma di continuare l'esecuzione come se queste operazioni diventassero permanenti in un secondo momento. Anche se le implementazioni non sono necessarie per generare un'eccezione in queste circostanze, sono incoraggiate a farlo. Un SecurityException sarebbe appropriato.

La maggior parte dei metodi SPI richiede l'implementazione per leggere o scrivere informazioni in un nodo preferenze. L'implementatore deve tenere presente che un'altra macchina virtuale potrebbe aver eliminato contemporaneamente questo nodo dall'archivio di backup. È responsabilità dell'implementazione ricreare il nodo se è stato eliminato.

Nota di implementazione: nelle implementazioni predefinite Preferences di Sun, l'identità dell'utente viene ereditata dal sistema operativo sottostante e non cambia per la durata della macchina virtuale. È riconosciuto che le implementazioni lato Preferences server possono avere la modifica dell'identità utente dalla richiesta alla richiesta, passate in modo implicito ai Preferences metodi tramite l'uso di un'istanza statica ThreadLocal . Gli autori di tali implementazioni sono fortemente invitati a determinare l'utente al momento dell'accesso alle preferenze (ad esempio tramite il #get(String,String) metodo o #put(String,String) ) anziché associare definitivamente un utente a ogni Preferences istanza. Quest'ultimo comportamento è in conflitto con l'utilizzo normale Preferences e causerebbe una grande confusione.

Aggiunta nella versione 1.4.

per java.util.prefs.AbstractPreferences.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Costruttori

Nome Descrizione
AbstractPreferences(AbstractPreferences, String)

Crea un nodo preferenza con l'elemento padre specificato e il nome specificato rispetto al relativo elemento padre.

AbstractPreferences(IntPtr, JniHandleOwnership)

Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Campi

Nome Descrizione
MaxKeyLength

Lunghezza massima della stringa consentita come chiave (80 caratteri).

(Ereditato da Preferences)
MaxNameLength

Lunghezza massima di un nome di nodo (80 caratteri).

(Ereditato da Preferences)
MaxValueLength

Lunghezza massima della stringa consentita come valore (8192 caratteri).

(Ereditato da Preferences)

Proprietà

Nome Descrizione
Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
IsRemoved

Restituisce true iff questo nodo (o un predecessore) è stato rimosso con il #removeNode() metodo .

IsUserNode

Implementa il isUserNode metodo in base alla specifica in Preferences#isUserNode().

JniIdentityHashCode

Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
JniPeerMembers

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Lock

Oggetto il cui monitoraggio viene utilizzato per bloccare questo nodo.

NewNode

Questo campo deve essere true se questo nodo non esiste nell'archivio di backup prima della creazione di questo oggetto.

PeerReference

Ottiene il riferimento all'oggetto JNI per questo peer Java.

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Metodi

Nome Descrizione
AbsolutePath()

Implementa il absolutePath metodo in base alla specifica in Preferences#absolutePath().

AddNodeChangeListener(INodeChangeListener)

Registra un'istanza NodeChangeListener per questo nodo, che gestirà NodeChangeEvents.

AddPreferenceChangeListener(IPreferenceChangeListener)

Registra un'istanza PreferenceChangeListener per questo nodo, che gestirà PreferenceChangeEvents.

CachedChildren()

Restituisce tutti gli elementi figlio non spostati noti di questo nodo.

ChildrenNames()

Implementa il children metodo in base alla specifica in Preferences#childrenNames().

ChildrenNamesSpi()

Restituisce i nomi degli elementi figlio di questo nodo preferenza.

ChildSpi(String)

Restituisce l'elemento figlio denominato di questo nodo preferenza, creandolo se non esiste già.

Clear()

Implementa il clear metodo in base alla specifica in Preferences#clear().

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Dispose()

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
Dispose(Boolean)

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
ExportNode(Stream)

Implementa il exportNode metodo in base alla specifica in Preferences#exportNode(OutputStream).

ExportNodeAsync(Stream)

Genera in modo asincrono un documento XML che rappresenta tutte le preferenze contenute in questo nodo, ma non i relativi discendenti.

(Ereditato da Preferences)
ExportSubtree(Stream)

Implementa il exportSubtree metodo in base alla specifica in Preferences#exportSubtree(OutputStream).

ExportSubtreeAsync(Stream)

Genera in modo asincrono un documento XML che rappresenta tutte le preferenze contenute in questo nodo e tutti i relativi discendenti.

(Ereditato da Preferences)
Flush()

Implementa il flush metodo in base alla specifica in Preferences#flush().

FlushAsync()

Forza in modo asincrono le modifiche apportate a questo nodo preferenza e ai relativi discendenti nell'archivio permanente.

(Ereditato da Preferences)
FlushSpi()

Questo metodo viene richiamato con questo nodo bloccato.

Get(String, String)

Implementa il get metodo in base alla specifica in Preferences#get(String,String).

GetBoolean(String, Boolean)

Implementa il getBoolean metodo in base alla specifica in Preferences#getBoolean(String,boolean).

GetByteArray(String, Byte[])

Implementa il getByteArray metodo in base alla specifica in Preferences#getByteArray(String,byte[]).

GetChild(String)

Restituisce l'elemento figlio denominato, se esistente, o null in caso contrario.

GetDouble(String, Double)

Implementa il getDouble metodo in base alla specifica in Preferences#getDouble(String,double).

GetFloat(String, Single)

Implementa il getFloat metodo in base alla specifica in Preferences#getFloat(String,float).

GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
GetInt(String, Int32)

Implementa il getInt metodo in base alla specifica in Preferences#getInt(String,int).

GetLong(String, Int64)

Implementa il getLong metodo in base alla specifica in Preferences#getLong(String,long).

GetSpi(String)

Restituisce il valore associato alla chiave specificata in questo nodo preferenza o null se non è presente alcuna associazione per questa chiave oppure l'associazione non può essere determinata in questo momento.

JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Keys()

Implementa il keys metodo in base alla specifica in Preferences#keys().

KeysSpi()

Restituisce tutte le chiavi con un valore associato in questo nodo preferenza.

Name()

Implementa il name metodo in base alla specifica in Preferences#name().

Node(String)

Implementa il node metodo in base alla specifica in Preferences#node(String).

NodeExists(String)

Implementa il nodeExists metodo in base alla specifica in Preferences#nodeExists(String).

Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
Parent()

Implementa il parent metodo in base alla specifica in Preferences#parent().

Put(String, String)

Implementa il put metodo in base alla specifica in Preferences#put(String,String).

PutBoolean(String, Boolean)

Implementa il putBoolean metodo in base alla specifica in Preferences#putBoolean(String,boolean).

PutByteArray(String, Byte[])

Implementa il putByteArray metodo in base alla specifica in Preferences#putByteArray(String,byte[]).

PutDouble(String, Double)

Implementa il putDouble metodo in base alla specifica in Preferences#putDouble(String,double).

PutFloat(String, Single)

Implementa il putFloat metodo in base alla specifica in Preferences#putFloat(String,float).

PutInt(String, Int32)

Implementa il putInt metodo in base alla specifica in Preferences#putInt(String,int).

PutLong(String, Int64)

Implementa il putLong metodo in base alla specifica in Preferences#putLong(String,long).

PutSpi(String, String)

Inserire l'associazione chiave-valore specificata in questo nodo preferenza.

Remove(String)

Implementa il remove(String) metodo in base alla specifica in Preferences#remove(String).

RemoveNode()

Implementa il removeNode() metodo in base alla specifica in Preferences#removeNode().

RemoveNodeChangeListener(INodeChangeListener)

Rimuove l'istanza specificata NodeChangeListener da questo nodo.

RemoveNodeSpi()

Rimuove questo nodo preferenza, invalidandolo e tutte le preferenze contenute.

RemovePreferenceChangeListener(IPreferenceChangeListener)

Rimuove l'istanza specificata PreferenceChangeListener da questo nodo.

RemoveSpi(String)

Rimuovere l'associazione (se presente) per la chiave specificata in questo nodo preferenza.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
Sync()

Implementa il sync metodo in base alla specifica in Preferences#sync().

SyncAsync()

Sincronizza in modo asincrono questo nodo preferenza e i relativi discendenti con l'archivio permanente.

(Ereditato da Preferences)
SyncSpi()

Questo metodo viene richiamato con questo nodo bloccato.

ToArray<T>()

Crea una matrice gestita da questo wrapper di matrice Java.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa del nodo preferenze.

UnregisterFromRuntime()

Annulla la registrazione di questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IJavaPeerable.Disposed()

Notifica al runtime di interoperabilità che il peer gestito è stato eliminato.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Rilascia questo Java peer a meno che non venga conservato da un altro riferimento gestito.

(Ereditato da Object)
IJavaPeerable.Finalized()

Notifica al runtime di interoperabilità che il peer gestito è stato finalizzato.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Ottiene lo stato che descrive la relazione tra questo peer gestito e il relativo riferimento JNI.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Imposta il codice hash dell'identità di interoperabilità per questo Java peer.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Imposta lo stato peer gestito e JNI per questo peer Java.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Imposta il riferimento all'oggetto JNI usato da questo peer gestito.

(Ereditato da Object)

Metodi di estensione

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Questa classe fornisce un'implementazione scheletra della Preferences classe, semplificando notevolmente l'attività di implementazione.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a