package es.tid.topologyModuleBase.database; import es.tid.ospf.ospfv2.lsa.tlv.subtlv.complexFields.BitmapLabelSet; import es.tid.tedb.*; import java.util.LinkedList; import java.util.Set; //import es.tid.pce.computingEngine.algorithms.ComputingAlgorithmPreComputation; //import es.tid.pce.computingEngine.algorithms.ComputingAlgorithmPreComputationSSON; /** * It's just like DomainTEDB and TEDB but every function has an identifier with it. * It's thought for you to have a list of TEDB and apply the function on a particular TEDB depending * on the identifier. * @author jaume * */ public interface TopologyTEDB { public boolean belongsToDomain(String id, Object addr); public ReachabilityEntry getReachabilityEntry(String id); public LinkedList<InterDomainEdge> getInterDomainLinks(String id); public Set<IntraDomainEdge> getIntraDomainLinks(String id); public String printInterDomainLinks(String id); public boolean containsVertex(String id, Object vertex); public WSONInformation getWSONinfo(String id); public SSONInformation getSSONinfo(String id); public void notifyWavelengthReservation(String id, LinkedList<Object> sourceVertexList, LinkedList<Object> targetVertexList, int wavelength, boolean bidirectional); public void notifyWavelengthReservationSSON (String id, LinkedList<Object> sourceVertexList, LinkedList<Object> targetVertexList, int wavelength, boolean bidirectional, int m); public void notifyWavelengthEndReservation(String id, LinkedList<Object> sourceVertexList, LinkedList<Object> targetVertexList, int wavelength, boolean bidirectional); public void notifyWavelengthChange(String id, Object localInterfaceIPAddress,Object remoteInterfaceIPAddress,BitmapLabelSet previousBitmapLabelSet,BitmapLabelSet newBitmapLabelSet ); public void notifyNewEdgeIP(String id, Object source, Object destination, TE_Information informationTEDB); public void register(String id, TEDListener compAlgPreComp); public void registerSSON(String id, SSONListener compAlgPreComp); public void notifyNewVertex(String id, Object vertex); public void notifyNewEdge (String id, Object source, Object destination); public void clearAllReservations(String id); public void notifyWavelengthEndReservationSSON( String id, LinkedList<Object> sourceVertexList, LinkedList<Object> targetVertexList, int wavelength, boolean bidirectional, int m); public void notifyWavelengthReservationWLAN( String id, LinkedList<Object> sourceVertexList, LinkedList<Object> targetVertexList, LinkedList<Integer> wlans, boolean bidirectional); public void initializeFromFile(String id, String file); public boolean isITtedb(String id); public String printTopology(String id); public void addTEDB(String id, DomainTEDB ted); public boolean belongsToDomain(Object addr); public ReachabilityEntry getReachabilityEntry(); public LinkedList<InterDomainEdge> getInterDomainLinks(); public Set<IntraDomainEdge> getIntraDomainLinks(); public String printInterDomainLinks(); public boolean containsVertex(Object vertex); public WSONInformation getWSONinfo(); public SSONInformation getSSONinfo(); public void notifyWavelengthReservation(LinkedList<Object> sourceVertexList, LinkedList<Object> targetVertexList, int wavelength, boolean bidirectional); public void notifyWavelengthReservationSSON (LinkedList<Object> sourceVertexList, LinkedList<Object> targetVertexList, int wavelength, boolean bidirectional, int m); public void notifyWavelengthEndReservation(LinkedList<Object> sourceVertexList, LinkedList<Object> targetVertexList, int wavelength, boolean bidirectional); public void notifyWavelengthChange(Object localInterfaceIPAddress,Object remoteInterfaceIPAddress,BitmapLabelSet previousBitmapLabelSet,BitmapLabelSet newBitmapLabelSet ); public void notifyNewEdgeIP(Object source, Object destination, TE_Information informationTEDB); public void register(TEDListener compAlgPreComp); public void registerSSON(SSONListener compAlgPreComp); public void notifyNewVertex(Object vertex); public void notifyNewEdge (Object source, Object destination); public void clearAllReservations(); public void notifyWavelengthEndReservationSSON( LinkedList<Object> sourceVertexList, LinkedList<Object> targetVertexList, int wavelength, boolean bidirectional, int m); public void notifyWavelengthReservationWLAN( LinkedList<Object> sourceVertexList, LinkedList<Object> targetVertexList, LinkedList<Integer> wlans, boolean bidirectional); public void initializeFromFile( String file); void initializeFromFile(String file, String ID, Boolean test); public boolean isITtedb(); public String printTopology(); public TEDB getDB(); public TEDB getDB(String id); }