/*******************************************************************************
* Copyright (c) 2014, 2015 IBH SYSTEMS GmbH.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBH SYSTEMS GmbH - initial API and implementation
*******************************************************************************/
package org.eclipse.packagedrone.repo.aspect;
import org.eclipse.packagedrone.repo.aspect.aggregate.ChannelAggregator;
import org.eclipse.packagedrone.repo.aspect.extract.Extractor;
import org.eclipse.packagedrone.repo.aspect.listener.ChannelListener;
import org.eclipse.packagedrone.repo.aspect.virtual.Virtualizer;
public interface ChannelAspect
{
/**
* Get the factory id
*
* @return the factory id
*/
public String getId ();
/**
* @return an extractor or <code>null</code>
*/
public default Extractor getExtractor ()
{
return null;
}
/**
* @return a channel listener or <code>null</code>
*/
public default ChannelListener getChannelListener ()
{
return null;
}
/**
* @return a virtualizer or <code>null</code>
*/
public default Virtualizer getArtifactVirtualizer ()
{
return null;
}
/**
* @return an aggregator which works on the whole channel, or
* <code>null</code>
*/
public default ChannelAggregator getChannelAggregator ()
{
return null;
}
}