<?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 :: Git</a> > <a href="../index.html" class="el_bundle">it-tidalwave-northernwind-core</a> > <a href="index.source.html" class="el_package">it.tidalwave.northernwind.frontend.ui.spi</a> > <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 "License"); 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 "AS IS" 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("Not supported.");</span>
}
@Nonnull
@Override
public ResourceFile getFile()
{
<span class="nc" id="L87"> throw new UnsupportedOperationException("Not supported.");</span>
}
@Nonnull
@Override
public ResourceProperties getPropertyGroup (@Nonnull final Id id)
{
<span class="nc" id="L94"> throw new UnsupportedOperationException("Not supported.");</span>
}
@Override
public boolean isPlaceHolder()
{
<span class="nc" id="L100"> throw new UnsupportedOperationException("Not supported.");</span>
}
@Override @Nonnull
public Finder<SiteNode> findChildren()
{
<span class="nc" id="L106"> throw new UnsupportedOperationException("Not supported.");</span>
}
@Override @Nonnull
public String toString()
{
<span class="nc" id="L112"> return "VirtualSiteNode(" + 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>