All Downloads are FREE. Search and download functionalities are using the official Maven repository.

js.web.webstorage.Storage Maven / Gradle / Ivy

package js.web.webstorage;

import js.lang.Any;
import org.teavm.jso.JSBody;
import org.teavm.jso.JSIndexer;
import org.teavm.jso.JSProperty;

import javax.annotation.Nullable;

/**
 * This Web Storage API interface provides access to a particular domain's session or local storage. It allows, for example, the addition, modification, or deletion of stored data items.
 */
public interface Storage extends Any {
    @JSBody(script = "return Storage.prototype")
    static Storage prototype() {
        throw new UnsupportedOperationException("Available only in JavaScript");
    }

    @JSBody(script = "return new Storage()")
    static Storage create() {
        throw new UnsupportedOperationException("Available only in JavaScript");
    }

    /**
     * Returns the number of key/value pairs currently present in the list associated with the object.
     */
    @JSProperty
    int getLength();

    /**
     * Empties the list associated with the object of all key/value pairs, if there are any.
     */
    void clear();

    /**
     * Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object.
     */
    @Nullable
    String getItem(String key);

    /**
     * Returns the name of the nth key in the list, or null if n is greater than or equal to the number of key/value pairs in the object.
     */
    @Nullable
    String key(int index);

    /**
     * Removes the key/value pair with the given key from the list associated with the object, if a key/value pair with the given key exists.
     */
    void removeItem(String key);

    /**
     * Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.
     * 

* Throws a "QuotaExceededError" DOMException exception if the new value couldn't be set. (Setting could fail if, e.g., the user has disabled storage for the site, or if the quota has been exceeded.) */ void setItem(String key, String value); @JSIndexer String get(String name); @JSIndexer void set(String name, String value); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy