Class EmbeddedSlotMap

  • All Implemented Interfaces:
    java.lang.Iterable<Slot>, SlotMap

    public class EmbeddedSlotMap
    extends java.lang.Object
    implements SlotMap
    • Constructor Summary

      Constructors 
      Constructor Description
      EmbeddedSlotMap()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(Slot newSlot)
      Insert a new slot to the map.
      boolean isEmpty()
      Return whether the map is empty.
      java.util.Iterator<Slot> iterator()  
      Slot modify​(java.lang.Object key, int index, int attributes)
      Locate the slot with given name or index, and create a new one if necessary.
      Slot query​(java.lang.Object key, int index)
      Locate the slot with the given name or index.
      void remove​(java.lang.Object key, int index)
      Remove the slot at either "key" or "index".
      void replace​(Slot oldSlot, Slot newSlot)
      Replace "slot" with a new slot.
      int size()
      Return the size of the map.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Constructor Detail

      • EmbeddedSlotMap

        public EmbeddedSlotMap()
    • Method Detail

      • size

        public int size()
        Description copied from interface: SlotMap
        Return the size of the map.
        Specified by:
        size in interface SlotMap
      • isEmpty

        public boolean isEmpty()
        Description copied from interface: SlotMap
        Return whether the map is empty.
        Specified by:
        isEmpty in interface SlotMap
      • iterator

        public java.util.Iterator<Slot> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<Slot>
      • query

        public Slot query​(java.lang.Object key,
                          int index)
        Locate the slot with the given name or index.
        Specified by:
        query in interface SlotMap
        Parameters:
        key - The key for the slot, which should be a String or a Symbol.
        index - if key is zero, then this will be used as the key instead.
        Returns:
        either the Slot that matched the key and index, or null
      • modify

        public Slot modify​(java.lang.Object key,
                           int index,
                           int attributes)
        Locate the slot with given name or index, and create a new one if necessary.
        Specified by:
        modify in interface SlotMap
        Parameters:
        key - either a String or a Symbol object that identifies the property
        index - index or 0 if slot holds property name.
        attributes - the attributes to be set on the slot if a new slot is created. Existing slots will not be modified.
        Returns:
        a Slot, which will be created anew if no such slot exists.
      • replace

        public void replace​(Slot oldSlot,
                            Slot newSlot)
        Description copied from interface: SlotMap
        Replace "slot" with a new slot. This is used to change slot types.
        Specified by:
        replace in interface SlotMap
      • add

        public void add​(Slot newSlot)
        Description copied from interface: SlotMap
        Insert a new slot to the map. Both "name" and "indexOrHash" must be populated. Note that ScriptableObject generally adds slots via the "modify" method.
        Specified by:
        add in interface SlotMap
      • remove

        public void remove​(java.lang.Object key,
                           int index)
        Description copied from interface: SlotMap
        Remove the slot at either "key" or "index".
        Specified by:
        remove in interface SlotMap
        Parameters:
        key - The key for the slot, which should be a String or a Symbol.
        index - if key is zero, then this will be used as the key instead.