001package votorola.a.trust; // Copyright 2008-2011, Michael Allan.  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Votorola Software"), to deal in the Votorola Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicence, and/or sell copies of the Votorola Software, and to permit persons to whom the Votorola Software is furnished to do so, subject to the following conditions: The preceding copyright notice and this permission notice shall be included in all copies or substantial portions of the Votorola Software. THE VOTOROLA SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE VOTOROLA SOFTWARE OR THE USE OR OTHER DEALINGS IN THE VOTOROLA SOFTWARE.
002
003
004/** A script context for restricting the extension of a trust edge.
005  */
006public final class TrustExtensionContext
007{
008
009
010    /** Constructs a TrustExtensionContext.
011      */
012    TrustExtensionContext( Trustserver _trustserver, TraceNode _traceNode0, TraceNode _traceNode1,
013      TrustEdge _trustEdge )
014    {
015        trustserver = _trustserver;
016        traceNode0 = _traceNode0;
017        traceNode1 = _traceNode1;
018        trustEdge = _trustEdge;
019    }
020
021
022
023   // ------------------------------------------------------------------------------------
024
025
026    /** The incomplete trace node of the trust source.  Trace-dependent fields might not
027      * be in their final state.
028      */
029    public TraceNode traceNode0() { return traceNode0; }
030
031
032        private final TraceNode traceNode0;
033
034
035
036    /** The incomplete trace node of the trust destination.  Trace-dependent fields might
037      * not be in their final state.
038      */
039    public TraceNode traceNode1() { return traceNode1; }
040
041
042        private final TraceNode traceNode1;
043
044
045
046    /** The trust edge that will be extended, if it is not barred.
047      *
048      *     @see TrustEdge#setBar(String)
049      */
050    public TrustEdge trustEdge() { return trustEdge; }
051
052
053        private final TrustEdge trustEdge;
054
055
056
057//// P r i v a t e ///////////////////////////////////////////////////////////////////////
058
059
060    private final Trustserver trustserver; // currently unused, but likely needed in future, per http://reluk.ca/system/host/havoc/home/vdev/votorola/trust/trustserver-run.js
061
062
063
064}