<commit_before>package de.factoryfx.server.rest.server;

import com.fasterxml.jackson.annotation.JsonIgnore;
import de.factoryfx.data.attribute.types.ObjectValueAttribute;
import de.factoryfx.factory.FactoryBase;
import de.factoryfx.factory.atrribute.FactoryReferenceListAttribute;
import org.eclipse.jetty.server.Handler;

import java.util.List;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;

/**
 *   Unusual inheritance api to support typesafe navigation.
 *  (alternative would be a factorylist but there is no common interface for resources)
 *
 *  usage example.
 *
 *  {@code
 *      public static class TestWebserverFactory extends JettyServerFactory<Void>{
 *          public final FactoryReferenceAttribute<Resource1,Resource1FactoryBase> resource = new FactoryReferenceAttribute<>();
 *          @Override
 *          protected List<Object> getResourcesInstances() {
 *              return Arrays.asList(resource.instance());
 *          }
 *      }
 *  }
 */
public abstract class JettyServerFactory<V> extends FactoryBase<JettyServer,V> {

    /** jersey resource class with Annotations*/<commit_msg>JettyServer resource api changed to support typesafe navigation<commit_after>package de.factoryfx.server.rest.server;

import com.fasterxml.jackson.annotation.JsonIgnore;
import de.factoryfx.data.attribute.types.ObjectValueAttribute;
import de.factoryfx.factory.FactoryBase;
import de.factoryfx.factory.atrribute.FactoryReferenceListAttribute;
import org.eclipse.jetty.server.Handler;

import java.util.List;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;

/**
 *   Unusual inheritance api to support typesafe navigation.
 *  (alternative would be a factorylist but there is no common interface for resources)
 *
 *  usage example.
 *
 *  {@code
 *      public static class TestWebserverFactory extends JettyServerFactory<Void>{
 *          public final FactoryReferenceAttribute<Resource1,Resource1FactoryBase> resource = new FactoryReferenceAttribute<>(Resource1FactoryBase.class);
 *          @Override
 *          protected List<Object> getResourcesInstances() {
 *              return Arrays.asList(resource.instance());
 *          }
 *      }
 *  }
 */
public abstract class JettyServerFactory<V> extends FactoryBase<JettyServer,V> {

    /** jersey resource class with Annotations*/
{'fraction_non_alphanumeric': 0.09268495428096425, 'fraction_numerical': 0.0020781379883624274, 'mean_word_length': 4.266958424507659, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6081631', 'n_tokens_mistral': 644, 'n_tokens_neox': 630, 'n_words': 150}