/** * Creates an {@link AdvancedBinary} computation directory for this instance - i.e. this intended * producer. Contains advanced binary protocols. These protocols include, but are not limited to, * addition and multiplication of numbers represented in binary form. * * @return The advanced binary computation directory. */ public AdvancedBinary advancedBinary() { if (this.advancedBinary == null) { this.advancedBinary = this.factory.createAdvancedBinary(this); } return this.advancedBinary; }
/** * Creates a {@link Binary} computation directory for this instance - i.e. this intended producer. * Contains only protocol suite native operations such as XOR and AND. Basic operations which can * be created from XOR, AND and NOT (such as XNOR, NAND) are found using {@link #advancedBinary}. * * @return The binary computation directory. */ public Binary binary() { if (this.binaryBuilder == null) { this.binaryBuilder = this.factory.createBinary(this); } return this.binaryBuilder; }
/** * Creates a {@link BristolCrypto} computation directory for this instance - i.e. this intended * producer. Contains various cryptographic primitives such as AES and SHA-256. * * @return The bristol crypto computation directory. */ public BristolCrypto bristol() { if (this.bristolCrypto == null) { this.bristolCrypto = this.factory.createBristolCrypto(this); } return this.bristolCrypto; }
@Override public Comparison createComparison(ProtocolBuilderBinary builder) { return BuilderFactoryBinary.super.createComparison(builder); }
/** * Creates a {@link Debug} computation directory for for this instance - i.e. this intended * producer. Contains debugging protocols for use during application development. <b>WARNING: Do * not use in production code as most methods within this builder reveals values to all * parties.</b> * * @return The debug computation directory. */ public Debug debug() { if (this.debug == null) { this.debug = this.factory.createDebug(this); } return this.debug; } }
/** * Creates a {@link Comparison} computation directory for this instance - i.e. this intended * producer. Contains protocols on comparing numbers in binary form. * * @return The comparison computation directory. */ public Comparison comparison() { if (this.comparison == null) { this.comparison = this.factory.createComparison(this); } return this.comparison; }
@Override public Comparison createComparison(ProtocolBuilderBinary builder) { BinaryComparisonLoggingDecorator comparison = new BinaryComparisonLoggingDecorator(delegateFactory.createComparison(builder)); aggregate.add(comparison); return comparison; } };
@Override public Binary createBinary(ProtocolBuilderBinary builder) { BinaryLoggingDecorator binaryLogger = new BinaryLoggingDecorator(delegateFactory.createBinary(builder)); aggregate.add(binaryLogger); return binaryLogger; }