View Javadoc
1   /*
2    * Copyright (C) 2005-2015 Schlichtherle IT Services.
3    * All rights reserved. Use is subject to license terms.
4    */
5   package net.java.truevfs.kernel.spec.spi;
6   
7   import net.java.truecommons.annotations.ServiceSpecification;
8   import net.java.truecommons.cio.IoBufferPool;
9   import net.java.truecommons.services.LocatableDecorator;
10  import net.java.truevfs.kernel.spec.sl.IoBufferPoolLocator;
11  
12  /**
13   * An abstract service for decorating I/O buffer pools.
14   * Decorator services are subject to service location by the
15   * {@link IoBufferPoolLocator#SINGLETON}.
16   * <p>
17   * If multiple decorator services are locatable on the class path at run time,
18   * they are applied in ascending order of their
19   * {@linkplain #getPriority() priority} so that the product of the decorator
20   * service with the greatest number becomes the head of the resulting product
21   * chain.
22   * <p>
23   * Implementations should be thread-safe.
24   */
25  @ServiceSpecification
26  public abstract class IoBufferPoolDecorator
27  extends LocatableDecorator<IoBufferPool> { }