Skip to content

Commit

Permalink
Serialization / Deserialization support + SerializationUtils / JAVA #207
Browse files Browse the repository at this point in the history
  • Loading branch information
mariuszgromada committed Nov 11, 2022
1 parent 18fed4c commit 9b62990
Show file tree
Hide file tree
Showing 17 changed files with 755 additions and 55 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* @(#)Argument.java 5.0.4 2022-05-22
* @(#)Argument.java 5.1.0 2022-11-11
*
* MathParser.org-mXparser DUAL LICENSE AGREEMENT as of date 2022-05-22
* The most up-to-date license is available at the below link:
Expand Down Expand Up @@ -180,6 +180,7 @@
*/
package org.mariuszgromada.math.mxparser;

import java.io.Serializable;
import java.util.List;
import org.mariuszgromada.math.mxparser.parsertokens.ParserSymbol;
/**
Expand Down Expand Up @@ -225,14 +226,16 @@
* <a href="https://play.google.com/store/apps/details?id=org.mathparser.scalar.pro" target="_blank">Scalar Pro</a><br>
* <a href="https://mathspace.pl" target="_blank">MathSpace.pl</a><br>
*
* @version 5.0.3
* @version 5.1.0
*
* @see RecursiveArgument
* @see Expression
* @see Function
* @see Constant
*/
public class Argument extends PrimitiveElement {
public class Argument extends PrimitiveElement implements Serializable {
private static final int serialClassID = 2;
private static final long serialVersionUID = SerializationUtils.getSerialVersionUID(serialClassID);
/**
* No syntax errors in the dependent argument definition.
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* @(#)ArgumentExtension.java 5.0.4 2022-05-22
* @(#)ArgumentExtension.java 5.1.0 2022-11-11
*
* MathParser.org-mXparser DUAL LICENSE AGREEMENT as of date 2022-05-22
* The most up-to-date license is available at the below link:
Expand Down Expand Up @@ -180,6 +180,8 @@
*/
package org.mariuszgromada.math.mxparser;

import java.io.Serializable;

/**
* ArgumentExtension provides interface for argument algorithm definition.
* Argument can be interpreted as function with no (zero) parameters.
Expand All @@ -202,11 +204,11 @@
* <a href="https://play.google.com/store/apps/details?id=org.mathparser.scalar.pro" target="_blank">Scalar Pro</a><br>
* <a href="https://mathspace.pl" target="_blank">MathSpace.pl</a><br>
*
* @version 5.0.0
* @version 5.1.0
*
* @see Argument
*/
public interface ArgumentExtension {
public interface ArgumentExtension extends Serializable {
/**
* Actual algorithm implementation.
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* @(#)CalcStepRecord.java 5.0.4 2022-05-22
* @(#)CalcStepRecord.java 5.1.0 2022-11-11
*
* MathParser.org-mXparser DUAL LICENSE AGREEMENT as of date 2022-05-22
* The most up-to-date license is available at the below link:
Expand Down Expand Up @@ -179,6 +179,9 @@
* - online store: https://payhip.com/infima
*/
package org.mariuszgromada.math.mxparser;

import java.io.Serializable;

/**
* Calculation is a multistep process and this class
* provides a container to store a single calculation step.
Expand All @@ -193,14 +196,16 @@
* <a href="https://play.google.com/store/apps/details?id=org.mathparser.scalar.pro" target="_blank">Scalar Pro</a><br>
* <a href="https://mathspace.pl" target="_blank">MathSpace.pl</a><br>
*
* @version 5.0.3
* @version 5.1.0
*
* @see CalcStepRecord
* @see Expression
* @see Argument
* @see Function
*/
public class CalcStepRecord {
public class CalcStepRecord implements Serializable {
private static final int serialClassID = 7;
private static final long serialVersionUID = SerializationUtils.getSerialVersionUID(serialClassID);
/**
* Calculation step type.
* 1. If an expression string refers (at some point) to a dependent argument
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* @(#)CalcStepsRegister.java 5.0.4 2022-05-22
* @(#)CalcStepsRegister.java 5.1.0 2022-11-11
*
* MathParser.org-mXparser DUAL LICENSE AGREEMENT as of date 2022-05-22
* The most up-to-date license is available at the below link:
Expand Down Expand Up @@ -180,6 +180,7 @@
*/
package org.mariuszgromada.math.mxparser;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
Expand All @@ -197,14 +198,16 @@
* <a href="https://play.google.com/store/apps/details?id=org.mathparser.scalar.pro" target="_blank">Scalar Pro</a><br>
* <a href="https://mathspace.pl" target="_blank">MathSpace.pl</a><br>
*
* @version 5.0.3
* @version 5.1.0
*
* @see CalcStepRecord
* @see Expression
* @see Argument
* @see Function
*/
public class CalcStepsRegister {
public class CalcStepsRegister implements Serializable {
private static final int serialClassID = 8;
private static final long serialVersionUID = SerializationUtils.getSerialVersionUID(serialClassID);
/**
* List that stores all the calculation steps
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* @(#)Constant.java 5.0.4 2022-05-22
* @(#)Constant.java 5.1.0 2022-11-11
*
* MathParser.org-mXparser DUAL LICENSE AGREEMENT as of date 2022-05-22
* The most up-to-date license is available at the below link:
Expand Down Expand Up @@ -180,6 +180,7 @@
*/
package org.mariuszgromada.math.mxparser;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

Expand Down Expand Up @@ -208,15 +209,17 @@
* <a href="https://play.google.com/store/apps/details?id=org.mathparser.scalar.pro" target="_blank">Scalar Pro</a><br>
* <a href="https://mathspace.pl" target="_blank">MathSpace.pl</a><br>
*
* @version 5.0.0
* @version 5.1.0
*
* @see RecursiveArgument
* @see Expression
* @see Function
* @see Argument
*
*/
public class Constant extends PrimitiveElement {
public class Constant extends PrimitiveElement implements Serializable {
private static final int serialClassID = 5;
private static final long serialVersionUID = SerializationUtils.getSerialVersionUID(serialClassID);
/**
* When constant could not be found
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* @(#)Expression.java 5.1.0 2022-09-04
* @(#)Expression.java 5.1.0 2022-11-11
*
* MathParser.org-mXparser DUAL LICENSE AGREEMENT as of date 2022-05-22
* The most up-to-date license is available at the below link:
Expand Down Expand Up @@ -181,6 +181,7 @@
package org.mariuszgromada.math.mxparser;

import java.io.ByteArrayInputStream;
import java.io.Serializable;
import java.util.*;

import org.mariuszgromada.math.mxparser.mathcollection.AstronomicalConstants;
Expand Down Expand Up @@ -243,7 +244,9 @@
* @see Constant
* @see Function
*/
public class Expression extends PrimitiveElement {
public class Expression extends PrimitiveElement implements Serializable {
private static final int serialClassID = 6;
private static final long serialVersionUID = SerializationUtils.getSerialVersionUID(serialClassID);
/**
* Expression type id
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* @(#)Function.java 5.0.4 2022-05-22
* @(#)Function.java 5.1.0 2022-11-11
*
* MathParser.org-mXparser DUAL LICENSE AGREEMENT as of date 2022-05-22
* The most up-to-date license is available at the below link:
Expand Down Expand Up @@ -180,6 +180,7 @@
*/
package org.mariuszgromada.math.mxparser;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.mariuszgromada.math.mxparser.parsertokens.ParserSymbol;
Expand Down Expand Up @@ -216,7 +217,7 @@
* <a href="https://play.google.com/store/apps/details?id=org.mathparser.scalar.pro" target="_blank">Scalar Pro</a><br>
* <a href="https://mathspace.pl" target="_blank">MathSpace.pl</a><br>
*
* @version 5.0.3
* @version 5.1.0
*
* @see RecursiveArgument
* @see Expression
Expand All @@ -225,7 +226,9 @@
* @see FunctionExtension
*
*/
public class Function extends PrimitiveElement {
public class Function extends PrimitiveElement implements Serializable {
private static final int serialClassID = 3;
private static final long serialVersionUID = SerializationUtils.getSerialVersionUID(serialClassID);
/**
* No syntax errors in the function.
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* @(#)FunctionExtension.java 5.0.4 2022-05-22
* @(#)FunctionExtension.java 5.1.0 2022-11-11
*
* MathParser.org-mXparser DUAL LICENSE AGREEMENT as of date 2022-05-22
* The most up-to-date license is available at the below link:
Expand Down Expand Up @@ -180,6 +180,8 @@
*/
package org.mariuszgromada.math.mxparser;

import java.io.Serializable;

/**
* FunctionExtension provides interface for function algorithm definition.
* In this case algorithm definition is based on source code using
Expand All @@ -201,12 +203,12 @@
* <a href="https://play.google.com/store/apps/details?id=org.mathparser.scalar.pro" target="_blank">Scalar Pro</a><br>
* <a href="https://mathspace.pl" target="_blank">MathSpace.pl</a><br>
*
* @version 5.0.0
* @version 5.1.0
*
* @see Function
*
*/
public interface FunctionExtension {
public interface FunctionExtension extends Serializable {
/**
* Gets parameters number.
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* @(#)FunctionExtensionVariadic.java 5.0.4 2022-05-22
* @(#)FunctionExtensionVariadic.java 5.1.0 2022-11-11
*
* MathParser.org-mXparser DUAL LICENSE AGREEMENT as of date 2022-05-22
* The most up-to-date license is available at the below link:
Expand Down Expand Up @@ -180,6 +180,8 @@
*/
package org.mariuszgromada.math.mxparser;

import java.io.Serializable;

/**
* FunctionExtensionVariadic similarly to FunctionExtension
* provides interface for function algorithm definition.
Expand All @@ -206,13 +208,13 @@
* <a href="https://play.google.com/store/apps/details?id=org.mathparser.scalar.pro" target="_blank">Scalar Pro</a><br>
* <a href="https://mathspace.pl" target="_blank">MathSpace.pl</a><br>
*
* @version 5.0.0
* @version 5.1.0
*
* @see FunctionExtension
* @see Function
*
*/
public interface FunctionExtensionVariadic {
public interface FunctionExtensionVariadic extends Serializable {
/**
* Actual algorithm implementation.
* @param parameters Variadic list of parameters
Expand Down
Loading

0 comments on commit 9b62990

Please sign in to comment.