package org.jactr.core.module.declarative.associative;
import java.util.Collection;
import org.jactr.core.chunk.IChunk;
import org.jactr.core.chunk.link.IAssociativeLink;
/*
* default logging
*/
/**
* container for associative links
*
* @author harrison
*/
public interface IAssociativeLinkContainer
{
/**
* get all the outbound links
*
* @param container
*/
public void getOutboundLinks(Collection<IAssociativeLink> container);
public long getNumberOfOutboundLinks();
/**
* all in bound links
*
* @param container
*/
public void getInboundLinks(Collection<IAssociativeLink> container);
public long getNumberOfInboundLinks();
/**
* return all outbound links that connect to receiver. Normally, there is only
* one, but this supports multiple.
*
* @param receiver
* @param container
*/
public void getOutboundLinks(IChunk receiver,
Collection<IAssociativeLink> container);
/**
* return all the links that we are getting
*
* @param sender
* @param container
*/
public void getInboundLinks(IChunk sender,
Collection<IAssociativeLink> container);
public void addLink(IAssociativeLink link);
public void removeLink(IAssociativeLink link);
}