Class Directive

    • Field Detail

      • outputStream

        protected java.io.OutputStream outputStream
      • ONLY_ONE

        public static final java.util.function.Predicate<java.lang.Integer> ONLY_ONE
      • ZERO_OR_ONE

        public static final java.util.function.Predicate<java.lang.Integer> ZERO_OR_ONE
      • ZERO

        public static final java.util.function.Predicate<java.lang.Integer> ZERO
    • Constructor Detail

      • Directive

        protected Directive​(java.lang.String directiveName,
                            Configuration config,
                            java.io.OutputStream outputStream,
                            java.lang.String... parameterNames)
    • Method Detail

      • resolve

        public java.lang.String resolve​(java.lang.String originalVariableName)
        Resolve the given variable name with any variable replacements that should occur.
      • optionalExpression

        public java.util.Optional<Directive.Expression> optionalExpression​(java.lang.String paramName)
      • optionalIntegerExpression

        public java.util.Optional<java.lang.Integer> optionalIntegerExpression​(java.lang.String paramName)
      • requiredIntegerExpression

        public java.lang.Integer requiredIntegerExpression​(java.lang.String paramName,
                                                           java.lang.String errorMessage)
      • optionalStringExpression

        public java.util.Optional<java.lang.String> optionalStringExpression​(java.lang.String paramName)
      • defaultBooleanExpression

        public boolean defaultBooleanExpression​(java.lang.String paramName,
                                                boolean defaultValue)
      • requiredStringExpression

        public java.lang.String requiredStringExpression​(java.lang.String paramName,
                                                         java.lang.String errorMessage)
      • optionalMapExpression

        public java.util.Optional<Directive.MapExpression> optionalMapExpression​(java.lang.String paramName)
      • validateSet

        public void validateSet​(java.util.function.Predicate<java.lang.Integer> validator,
                                java.lang.String message,
                                java.util.Optional<?>... opts)
        Validate a set of optionals with the given validator. If it fails, throw an exception with the message.
      • append

        public void append​(Token token)
        Append directive tokens. Note that this MUST be terminated by a termination token (probably EOL) to prevent loss of information.
      • writeBytes

        public abstract void writeBytes​(int startAddress,
                                        Line line)
                                 throws java.io.IOException
        Write directive contents to output file. Note that address is adjusted for the line header already.
        Throws:
        java.io.IOException