Interface Content


  • public interface Content
    Content of this object graph. The content API of an object can be accessed via the vmf() method:
    
     VObject o = ...
     Content r = o.vmf().content()
     
    • Method Detail

      • iterator

        VIterator iterator​(VIterator.IterationStrategy strategy)
        Returns an iterator that traverses the object graph (depth first) using the specified iteration strategy.
        Parameters:
        strategy - iteration strategy
        Returns:
        an iterator that traverses the object graph
      • stream

        java.util.stream.Stream<VObject> stream()
        Returns a stream that contains all elements of the object graph (depth first) using the VIterator.IterationStrategy.UNIQUE_PROPERTY iteration strategy.
        Returns:
        a stream that contains all elements of the object graph
      • stream

        java.util.stream.Stream<VObject> stream​(VIterator.IterationStrategy strategy)
        Returns a stream that contains all elements of the object graph (depth first) using the specified iteration strategy.
        Parameters:
        strategy - iteration strategy
        Returns:
        a stream that contains all elements of the object graph
      • stream

        <T extends VObject> java.util.stream.Stream<T> stream​(java.lang.Class<T> type)
        Returns a stream that contains all elements of the object graph (depth first) that implement/extend the specified type. It maps all elements to the specified type, i.e. returns Stream<T>.
        Type Parameters:
        T - element type
        Parameters:
        type - type for filtering and mapping
        Returns:
        a stream of type , i.e. Stream<T>
      • stream

        <T extends VObject> java.util.stream.Stream<T> stream​(java.lang.Class<T> type,
                                                              VIterator.IterationStrategy strategy)
        Returns a stream that contains all elements of the object graph (depth first) that implement/extend the specified type. It maps all elements to the specified type, i.e. returns Stream<T> using the specified iteration strategy.
        Type Parameters:
        T - element type
        Parameters:
        type - type for filtering and mapping
        strategy - iteration strategy
        Returns:
        a stream of type , i.e. Stream<T>
      • referencedBy

        @Deprecated
        eu.mihosoft.vcollections.VList<VObject> referencedBy()
        Deprecated.
        Returns an unmodifiable list of all objects that reference this object.
        Returns:
        an unmodifiable list of all objects that reference this object
      • references

        @Deprecated
        eu.mihosoft.vcollections.VList<VObject> references()
        Deprecated.
        Returns an unmodifiable list of all objects that are referenced by this object.
        Returns:
        an unmodifiable list of all objects that are referenced by this object.
      • deepCopy

        <T> T deepCopy()
        Returns a deep copy of this object.
        Returns:
        a deep copy of this object
      • shallowCopy

        <T> T shallowCopy()
        Returns a shallow copy of this object.
        Returns:
        a shallow copy of this object
      • equals

        boolean equals​(java.lang.Object o)
        Indicates whether this VMF object is equal to the specified model object. It uses VMFs equals implementation which compares all properties unless they are ignored explicitly via annotation.

        Example:

        
             MyModel m1 = ...
             MyModel m2 = ...
             boolean equals = m1.vmf().content().equals(m2);
             System.out.println("Models are equal: " + equals);
             // output: Models are equal: true
         
        Overrides:
        equals in class java.lang.Object
        Parameters:
        o - object to compare
        Returns:
        if equals; false otherwise
      • hashCode

        int hashCode()
        Returns the hash-code for this VMF object. It uses VMFs hashCode implementation which takes all properties into account unless they are ignored explicitly via annotation.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        if equals; false otherwise