Content of file VirtualSiteNode.java.html

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../../jacoco-resources/report.gif" type="image/gif"/><title>VirtualSiteNode.java</title><link rel="stylesheet" href="../../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../../index.html" class="el_report">NorthernWind :: Filesystems :: SCM :: Mercurial</a> &gt; <a href="../index.html" class="el_bundle">it-tidalwave-northernwind-core</a> &gt; <a href="index.source.html" class="el_package">it.tidalwave.northernwind.frontend.ui.spi</a> &gt; <span class="el_source">VirtualSiteNode.java</span></div><h1>VirtualSiteNode.java</h1><pre class="source lang-java linenums">/*
 * #%L
 * *********************************************************************************************************************
 *
 * NorthernWind - lightweight CMS
 * http://northernwind.tidalwave.it - git clone https://bitbucket.org/tidalwave/northernwind-src.git
 * %%
 * Copyright (C) 2011 - 2023 Tidalwave s.a.s. (http://tidalwave.it)
 * %%
 * *********************************************************************************************************************
 *
 * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 * an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations under the License.
 *
 * *********************************************************************************************************************
 *
 *
 * *********************************************************************************************************************
 * #L%
 */
package it.tidalwave.northernwind.frontend.ui.spi;

import javax.annotation.Nonnull;
import it.tidalwave.util.As;
import it.tidalwave.util.Finder;
import it.tidalwave.util.Id;
import it.tidalwave.northernwind.core.model.ResourceFile;
import it.tidalwave.northernwind.core.model.ResourcePath;
import it.tidalwave.northernwind.core.model.ResourceProperties;
import it.tidalwave.northernwind.core.model.Site;
import it.tidalwave.northernwind.core.model.SiteNode;
import it.tidalwave.northernwind.frontend.ui.Layout;
import it.tidalwave.northernwind.frontend.ui.ViewController;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.experimental.Delegate;

/***********************************************************************************************************************
 *
 * A convenient implementation of {@link SiteNode} for {@link ViewController#findVirtualSiteNodes()}.
 *
 * @see ViewController#findVirtualSiteNodes() 
 *
 * @author  Fabrizio Giudici
 *
 **********************************************************************************************************************/
<span class="nc" id="L53">@RequiredArgsConstructor</span>
public class VirtualSiteNode implements SiteNode
  {
    @Nonnull
    private final SiteNode parentSiteNode;

<span class="nc" id="L59">    @Getter @Nonnull</span>
    private final ResourcePath relativeUri;

<span class="nc" id="L62">    @Getter @Nonnull</span>
    private final ResourceProperties properties;

<span class="nc" id="L65">    @Delegate</span>
<span class="nc" id="L66">    private final As asSupport = As.forObject(this);</span>

    @Override @Nonnull
    public Site getSite()
      {
<span class="nc" id="L71">        return parentSiteNode.getSite();</span>
      }

    // TODO: perhaps the methods below could be implemented by delegating to the first real SiteNode up in the
perhaps the methods below could be implemented by delegating to the first real SiteNode up in the
// hierarchy. @Nonnull @Override public Layout getLayout() { <span class="nc" id="L80"> throw new UnsupportedOperationException(&quot;Not supported.&quot;);</span> } @Nonnull @Override public ResourceFile getFile() { <span class="nc" id="L87"> throw new UnsupportedOperationException(&quot;Not supported.&quot;);</span> } @Nonnull @Override public ResourceProperties getPropertyGroup (@Nonnull final Id id) { <span class="nc" id="L94"> throw new UnsupportedOperationException(&quot;Not supported.&quot;);</span> } @Override public boolean isPlaceHolder() { <span class="nc" id="L100"> throw new UnsupportedOperationException(&quot;Not supported.&quot;);</span> } @Override @Nonnull public Finder&lt;SiteNode&gt; findChildren() { <span class="nc" id="L106"> throw new UnsupportedOperationException(&quot;Not supported.&quot;);</span> } @Override @Nonnull public String toString() { <span class="nc" id="L112"> return &quot;VirtualSiteNode(&quot; + relativeUri + ')';</span> } } </pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.9.202303310957</span></div></body></html>