Package org.eolang

Class PhComposite

  • All Implemented Interfaces:
    Data, Phi

    public final class PhComposite
    extends Object
    implements Phi
    Attribute that constructs object lazily.

    The attribute depends on context (argument of lambda expression).

    Since:
    0.1
    • Constructor Detail

      • PhComposite

        public PhComposite​(Phi obj,
                           Function<Phi,​Phi> exp)
        Ctor.
        Parameters:
        obj - The \rho
        exp - The expression
    • Method Detail

      • copy

        public Phi copy​(Phi self)
        Description copied from interface: Phi
        Copy self object.
        Specified by:
        copy in interface Phi
        Parameters:
        self - Self
        Returns:
        Copy of self
      • take

        public Phi take​(int pos)
        Description copied from interface: Phi
        Take object by position of the attribute.
        Specified by:
        take in interface Phi
        Parameters:
        pos - The position of the attribute
        Returns:
        The object
      • copy

        public Phi copy()
        Description copied from interface: Phi
        Make a copy, leaving it at the same parent.
        Specified by:
        copy in interface Phi
        Returns:
        A copy
      • hasRho

        public boolean hasRho()
        Description copied from interface: Phi
        Returns true if object has bound rho attribute.
        Specified by:
        hasRho in interface Phi
        Returns:
        True if object has rho bound attribute
      • take

        public Phi take​(String name)
        Description copied from interface: Phi
        Take object by name of the attribute.
        Specified by:
        take in interface Phi
        Parameters:
        name - The name of the attribute
        Returns:
        The object
      • put

        public void put​(String name,
                        Phi object)
        Description copied from interface: Phi
        Put object by name of the attribute.
        Specified by:
        put in interface Phi
        Parameters:
        name - The name of the attribute.
        object - The object to put
      • locator

        public String locator()
        Description copied from interface: Phi
        Get code locator of the phi.
        Specified by:
        locator in interface Phi
        Returns:
        String containing code locator
      • forma

        public String forma()
        Description copied from interface: Phi
        Get forma of the phi.
        Specified by:
        forma in interface Phi
        Returns:
        Forma of it as String.
      • put

        public void put​(int pos,
                        Phi object)
        Description copied from interface: Phi
        Put object by position of the attribute.
        Specified by:
        put in interface Phi
        Parameters:
        pos - The position of the attribute.
        object - The object to put
      • delta

        public byte[] delta()
        Description copied from interface: Data
        Take the data.
        Specified by:
        delta in interface Data
        Returns:
        The data