Class KeyFactory.Builder

  • Enclosing class:
    KeyFactory

    public static final class KeyFactory.Builder
    extends Object
    Helper class that aids in the construction of Keys with ancestors. Initialize the Builder with the topmost ancestor in your key path and then add children using the addChild(java.lang.String, java.lang.String) overload that best suits your needs. When finished adding children, call getKey() to retrieve your Key or getString() to retrieve your Key encoded as a websafe String.

    Examples:

    
     import com.google.appengine.api.datastore.KeyFactory.Builder;
    
     ...
    
     Key key = new Builder("Person", 88).addChild("Address", 24).getKey();
     String keyStr = new Builder("Photo Album", "Vacation").addChild("Photo", 1424).getString();
     
    • Constructor Detail

      • Builder

        public Builder​(String kind,
                       String name)
        Create a Builder, establishing a Key constructed from the provided kind and name as the topmost ancestor.
        Parameters:
        kind - the kind of the topmost ancestor
        name - the name of the topmost ancestor in kind, as an arbitrary string unique across root entities of this kind
      • Builder

        public Builder​(String kind,
                       long id)
        Create a Builder, establishing a Key constructed from the provided kind and id as the topmost ancestor.
        Parameters:
        kind - the kind of the topmost ancestor
        id - the numeric identifier of the topmost ancestor in kind, unique across root entities of this kind, must not be zero
      • Builder

        public Builder​(Key key)
        Create a Builder, establishing the provided Key as the topmost ancestor.
        Parameters:
        key - the topmost ancestor
    • Method Detail

      • addChild

        public KeyFactory.Builder addChild​(String kind,
                                           String name)
        Add a Key constructed from the provided kind and name as the child of the Key most recently added to the Builder.
        Parameters:
        kind - the kind of the child
        name - the name of the child in kind, as an arbitrary string unique across entities of this kind with the same parent
        Returns:
        this
      • addChild

        public KeyFactory.Builder addChild​(String kind,
                                           long id)
        Add a Key constructed from the provided kind and id as the child of the Key most recently added to the Builder.
        Parameters:
        kind - the kind of the child
        id - the numeric identifier of the child in kind, unique across entities of this kind with the same parent, must not be zero
        Returns:
        this
      • getKey

        public Key getKey()
        Returns the most recently added Key.
      • getString

        public String getString()
        Returns the most recently added Key, encoded as a websafe String.