6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/build/00-prep.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -ue
3 | ################################################################
4 | export gitHubToken="${1:-NO_TOKEN}" ; shift || :
5 | ################################################################
6 | export ANT_OPTS="-Djdk.home.11=$JAVA_HOME -Dpath.variable.maven_repository=m2"
7 | export MAVEN_OPTS="-Dmaven.repo.local=m2 -DoutputDirectory=out/dependency"
8 | export OUR_DOMAIN="org.modelingvalue"
9 | export OUR_PRODUCT="dclare"
10 | export OUR_VERSION="$(head -1 releases.md | sed 's/#* *//')"
11 | export OUR_BRANCH="$(sed 's|^refs/heads/||' <<<"$GITHUB_REF")"
12 | ################################################################
13 | export units=(
14 | collections
15 | transactions
16 | jdclare
17 | )
18 | ################################################################
19 | varNames=(
20 | gitHubToken
21 | ANT_OPTS
22 | MAVEN_OPTS
23 | OUR_DOMAIN
24 | OUR_PRODUCT
25 | OUR_VERSION
26 | OUR_BRANCH
27 | units
28 | )
29 | mkdir -p build/tmp
30 | declare -p "${varNames[@]}" > build/tmp/prep.sh
31 |
--------------------------------------------------------------------------------
/build/01-getTools.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -ue
3 | . build/tmp/prep.sh
4 | ################################################################
5 | echo "...get our tools"
6 | rm -rf tools
7 | git clone 'https://github.com/ModelingValueGroup/tools.git'
8 | ( echo ". tools/tools.sh"
9 | cat build/tmp/prep.sh
10 | ) >> build/tmp/prep.sh-tmp
11 | cp build/tmp/prep.sh-tmp build/tmp/prep.sh
12 |
13 | set -x
14 | . build/tmp/prep.sh
--------------------------------------------------------------------------------
/build/02-makePoms.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -ue
3 | . build/tmp/prep.sh
4 | ################################################################
5 | echo "...make the poms with the dependencies"
6 | makeAllPoms \
7 | "http://www.dclare-lang.org" \
8 | "https://github.com/ModelingValueGroup/jdclare.git" \
9 | "$OUR_VERSION" \
10 | "${units[@]}"
11 |
--------------------------------------------------------------------------------
/build/03-getDependencies.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -ue
3 | . build/tmp/prep.sh
4 | ################################################################
5 | echo "...getting dependencies from maven"
6 | mvn \
7 | -f out/artifacts/ALL-SNAPSHOT.pom \
8 | dependency:copy-dependencies
9 |
--------------------------------------------------------------------------------
/build/04-build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -ue
3 | . build/tmp/prep.sh
4 | ################################################################
5 | echo "...build everything"
6 | ant \
7 | -f build.xml
8 |
--------------------------------------------------------------------------------
/build/05-test.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -ue
3 | . build/tmp/prep.sh
4 | ################################################################
5 | echo "...testing"
6 | generateAntTestFile "mvg-jdclare" > test.xml
7 |
8 | # to keep travis-ci happy:
9 | SECONDS=0
10 | while sleep 60; do
11 | echo "=====[ still running after $SECONDS sec... ]====="
12 | done &
13 |
14 |
15 | if ! ant -f test.xml; then
16 | kill %1
17 | echo "======================================================================"
18 | echo " FAILURES DETECTED"
19 | echo "======================================================================"
20 | for f in $(\
21 | egrep '(errors|failures)="' TEST-* \
22 | | egrep -v 'errors="0" failures="0"' \
23 | | sed 's/:.*//'
24 | ); do
25 | [[ -f "$f" ]] && cat $f
26 | done
27 | echo "======================================================================"
28 | exit 99
29 | fi
30 | kill %1
31 | echo "...all tests ok!"
32 |
--------------------------------------------------------------------------------
/build/06-javadoc.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -ue
3 | . build/tmp/prep.sh
4 | ################################################################
5 | echo "...make javadoc"
6 |
7 | for n in "${units[@]}"; do
8 | cacheFile="cache/$n/javadoc.jar"
9 | targetFile="out/artifacts/$n-SNAPSHOT-javadoc.jar"
10 |
11 | mkdir -p "$(dirname "$cacheFile")" "$(dirname "$targetFile")"
12 |
13 | if [[ -f "$cacheFile" ]]; then
14 | cp "$cacheFile" "$targetFile"
15 | else
16 | makeAllJavaDocJars "$n"
17 | cp "$targetFile" "$cacheFile"
18 | fi
19 | done
20 |
--------------------------------------------------------------------------------
/build/07-publish.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -ue
3 | . build/tmp/prep.sh
4 | ################################################################
5 | if [[ $OUR_BRANCH != "master" ]]; then
6 | echo "INFO: no publish: on '$OUR_BRANCH' and not on 'master' branch"
7 | else
8 | if [[ $gitHubToken == "" || $gitHubToken == NO_TOKEN ]]; then
9 | echo "INFO: no publish: no \$gitHubToken defined"
10 | else
11 | echo "...publish to github as version '$OUR_VERSION'"
12 | set -x
13 | publishJarsOnGitHub \
14 | "$OUR_BRANCH" \
15 | "$OUR_VERSION" \
16 | "$gitHubToken" \
17 | "false" \
18 | "${units[@]}"
19 | fi
20 | fi
21 |
--------------------------------------------------------------------------------
/build/build.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/build/build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -ue
3 | ################################################################
4 | mkdir -p log
5 | . build/00-prep.sh | tee log/00-prep.log
6 | . build/01-getTools.sh | tee log/01-getTools.log
7 | . build/02-makePoms.sh | tee log/02-makePoms.log
8 | . build/03-getDependencies.sh | tee log/03-getDependencies.log
9 | . build/04-build.sh | tee log/04-build.log
10 | . build/05-test.sh | tee log/05-test.log
11 | . build/06-javadoc.sh | tee log/06-javadoc.log
12 | . build/07-publish.sh | tee log/07-publish.log
13 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections.test/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections.test/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.modelingvalue.collections.test
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections.test/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
6 | org.eclipse.jdt.core.compiler.compliance=11
7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
12 | org.eclipse.jdt.core.compiler.release=disabled
13 | org.eclipse.jdt.core.compiler.source=11
14 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections.test/org.modelingvalue.collections.test.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections.test/src/org/modelingvalue/collections/test/AgeTest.java:
--------------------------------------------------------------------------------
1 | package org.modelingvalue.collections.test;
2 |
3 | import static org.junit.Assert.*;
4 |
5 | import org.junit.Test;
6 | import org.modelingvalue.collections.util.Age;
7 |
8 | public class AgeTest {
9 |
10 | @Test
11 | public void age() {
12 | Object[] a = new Object[1];
13 | Object o = new Object();
14 | a[0] = o;
15 | assertEquals("pre age = " + Age.age(a), 0, Age.age(a));
16 | assertEquals("pre age = " + Age.age(o), 0, Age.age(o));
17 | Object cg = null;
18 | @SuppressWarnings("unused")
19 | int h = 0;
20 | for (int i = 0; i < 100_000_000; i++) {
21 | cg = new Object();
22 | h += cg.hashCode();
23 | }
24 | cg = null;
25 | assertTrue("post age = " + Age.age(a), Age.age(a) > 0);
26 | assertTrue("post age = " + Age.age(o), Age.age(o) > 0);
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.modelingvalue.collections
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.pde.ManifestBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.pde.SchemaBuilder
20 |
21 |
22 |
23 |
24 |
25 | org.eclipse.jdt.core.javanature
26 |
27 |
28 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/build.properties:
--------------------------------------------------------------------------------
1 | source.. = src/
2 | bin.includes = META-INF/,\
3 | .
4 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/description:
--------------------------------------------------------------------------------
1 | A collections framework with value semantics
--------------------------------------------------------------------------------
/org.modelingvalue.collections/org.modelingvalue.collections.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/StreamCollection.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections;
15 |
16 | public interface StreamCollection extends Collection {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | import java.io.Serializable;
17 |
18 | import org.modelingvalue.collections.util.Internable;
19 |
20 | public interface Struct extends Serializable, Internable {
21 | Object get(int i);
22 |
23 | int length();
24 |
25 | default Object[] postCreate(Object[] args) {
26 | return args;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct0.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct0 extends Struct {
17 | }
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct1.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct1 extends Struct0 {
17 | T0 get0();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct10.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct10 extends Struct9 {
17 | T9 get9();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct11.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct11 extends Struct10 {
17 | T10 get10();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct12.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct12 extends Struct11 {
17 | T11 get11();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct13.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct13 extends Struct12 {
17 | T12 get12();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct14.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct14 extends Struct13 {
17 | T13 get13();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct15.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct15 extends Struct14 {
17 | T14 get14();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct16.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct16 extends Struct15 {
17 | T15 get15();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct17.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct17 extends Struct16 {
17 | T16 get16();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct18.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct18 extends Struct17 {
17 | T17 get17();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct19.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct19 extends Struct18 {
17 | T18 get18();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct2.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct2 extends Struct1 {
17 | T1 get1();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct20.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct20 extends Struct19 {
17 | T19 get19();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct21.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct21 extends Struct20 {
17 | T20 get20();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct22.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct22 extends Struct21 {
17 | T21 get21();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct23.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct23 extends Struct22 {
17 | T22 get22();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct24.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct24 extends Struct23 {
17 | T23 get23();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct3.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct3 extends Struct2 {
17 | T2 get2();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct4.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct4 extends Struct3 {
17 | T3 get3();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct5.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct5 extends Struct4 {
17 | T4 get4();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct6.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct6 extends Struct5 {
17 | T5 get5();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct7.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct7 extends Struct6 {
17 | T6 get6();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct8.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct8 extends Struct7 {
17 | T7 get7();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/Struct9.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct;
15 |
16 | public interface Struct9 extends Struct8 {
17 | T8 get8();
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/struct/impl/Struct0Impl.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.struct.impl;
15 |
16 | import org.modelingvalue.collections.struct.Struct0;
17 |
18 | public class Struct0Impl extends StructImpl implements Struct0 {
19 |
20 | private static final long serialVersionUID = -851702180710134661L;
21 |
22 | public Struct0Impl() {
23 | super();
24 | }
25 |
26 | protected Struct0Impl(Object... data) {
27 | super(data);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/util/NotMergeableException.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.util;
15 |
16 | public class NotMergeableException extends Error {
17 |
18 | private static final long serialVersionUID = 10352309221474014L;
19 |
20 | public NotMergeableException(String message) {
21 | super(message);
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/util/QuadConsumer.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.util;
15 |
16 | @FunctionalInterface
17 | public interface QuadConsumer {
18 |
19 | void accept(S s, T t, U u, V v);
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/util/QuadFunction.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.util;
15 |
16 | @FunctionalInterface
17 | public interface QuadFunction {
18 |
19 | R apply(S s, T t, U u, V v);
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/util/TernaryOperator.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.util;
15 |
16 | @FunctionalInterface
17 | public interface TernaryOperator extends TriFunction {
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/util/TriConsumer.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.util;
15 |
16 | @FunctionalInterface
17 | public interface TriConsumer {
18 |
19 | void accept(S s, T t, U u);
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/org.modelingvalue.collections/src/org/modelingvalue/collections/util/TriFunction.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.collections.util;
15 |
16 | @FunctionalInterface
17 | public interface TriFunction {
18 |
19 | R apply(S s, T t, U u);
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare.test/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare.test/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.modelingvalue.dclare.test
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare.test/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
6 | org.eclipse.jdt.core.compiler.compliance=11
7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
12 | org.eclipse.jdt.core.compiler.release=disabled
13 | org.eclipse.jdt.core.compiler.source=11
14 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare.test/org.modelingvalue.dclare.test.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare.test/src/org/modelingvalue/dclare/test/DObject.java:
--------------------------------------------------------------------------------
1 | package org.modelingvalue.dclare.test;
2 |
3 | import org.modelingvalue.collections.util.StringUtil;
4 | import org.modelingvalue.dclare.Mutable;
5 |
6 | public class DObject implements Mutable {
7 | private final Object id;
8 | private final DClass dClass;
9 |
10 | public static DObject of(Object id, DClass dClass) {
11 | return new DObject(id, dClass);
12 | }
13 |
14 | protected DObject(Object id, DClass dClass) {
15 | this.id = id;
16 | this.dClass = dClass;
17 | }
18 |
19 | @Override
20 | public DClass dClass() {
21 | return dClass;
22 | }
23 |
24 | public Object id() {
25 | return id;
26 | }
27 |
28 | @Override
29 | public String toString() {
30 | return dClass + "@" + StringUtil.toString(id);
31 | }
32 |
33 | @Override
34 | public int hashCode() {
35 | return dClass.hashCode() ^ id.hashCode();
36 | }
37 |
38 | @Override
39 | public boolean equals(Object obj) {
40 | if (this == obj) {
41 | return true;
42 | } else if (obj == null) {
43 | return false;
44 | } else if (getClass() != obj.getClass()) {
45 | return false;
46 | } else {
47 | DObject c = (DObject) obj;
48 | return id.equals(c.id) && dClass.equals(c.dClass);
49 | }
50 | }
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare.test/src/org/modelingvalue/dclare/test/DUniverse.java:
--------------------------------------------------------------------------------
1 | package org.modelingvalue.dclare.test;
2 |
3 | import java.util.function.Consumer;
4 |
5 | import org.modelingvalue.dclare.Universe;
6 |
7 | public class DUniverse extends DObject implements Universe {
8 |
9 | public static DUniverse of(Object id, DClass dClass) {
10 | return new DUniverse(id, u -> {
11 | }, dClass);
12 | }
13 |
14 | public static DUniverse of(Object id, Consumer init, DClass dClass) {
15 | return new DUniverse(id, init, dClass);
16 | }
17 |
18 | private final Consumer init;
19 |
20 | protected DUniverse(Object id, Consumer init, DClass dClass) {
21 | super(id, dClass);
22 | this.init = init;
23 | }
24 |
25 | @Override
26 | public void init() {
27 | Universe.super.init();
28 | init.accept(this);
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.modelingvalue.dclare
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
6 | org.eclipse.jdt.core.compiler.compliance=11
7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
12 | org.eclipse.jdt.core.compiler.release=disabled
13 | org.eclipse.jdt.core.compiler.source=11
14 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare/org.modelingvalue.dclare.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare/src/org/modelingvalue/dclare/DeferException.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.dclare;
15 |
16 | public final class DeferException extends RuntimeException {
17 |
18 | private static final long serialVersionUID = -4289705377708158959L;
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare/src/org/modelingvalue/dclare/EmptyMandatoryException.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.dclare;
15 |
16 | public final class EmptyMandatoryException extends ConsistencyError {
17 |
18 | private static final long serialVersionUID = -6687018038130352922L;
19 |
20 | public EmptyMandatoryException(Object object, Setable, ?> setable) {
21 | super(object, setable, "Empty mandatory property '" + setable + "' of object '" + object + "'");
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare/src/org/modelingvalue/dclare/Feature.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.dclare;
15 |
16 | public interface Feature {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare/src/org/modelingvalue/dclare/NonDeterministicException.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.dclare;
15 |
16 | public final class NonDeterministicException extends ConsistencyError {
17 | private static final long serialVersionUID = 7857822332170335179L;
18 |
19 | public NonDeterministicException(Object object, Getable, ?> getable, String message) {
20 | super(object, getable, message);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare/src/org/modelingvalue/dclare/Priority.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.dclare;
15 |
16 | public enum Priority {
17 |
18 | preDepth(0),
19 |
20 | postDepth(1),
21 |
22 | depth(2);
23 |
24 | public final int nr;
25 |
26 | private Priority(int nr) {
27 | this.nr = nr;
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare/src/org/modelingvalue/dclare/StopObserverException.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.dclare;
15 |
16 | public final class StopObserverException extends RuntimeException {
17 |
18 | private static final long serialVersionUID = 2616181071425492626L;
19 |
20 | public StopObserverException(String mess) {
21 | super(mess);
22 | }
23 |
24 | public StopObserverException(Throwable t) {
25 | super(t);
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare/src/org/modelingvalue/dclare/ThrowableError.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.dclare;
15 |
16 | public final class ThrowableError extends ConsistencyError {
17 |
18 | private static final long serialVersionUID = -4723221087879478090L;
19 |
20 | public ThrowableError(Object object, Feature feature, Throwable t) {
21 | super(object, feature, t);
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/org.modelingvalue.dclare/src/org/modelingvalue/dclare/Universe.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.dclare;
15 |
16 | import org.modelingvalue.collections.util.Internable;
17 |
18 | public interface Universe extends Mutable, Internable {
19 |
20 | default void init() {
21 | dActivate();
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.examples/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.examples/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.modelingvalue.jdclare.examples
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.examples/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
5 | org.eclipse.jdt.core.compiler.compliance=11
6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
11 | org.eclipse.jdt.core.compiler.release=enabled
12 | org.eclipse.jdt.core.compiler.source=11
13 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.examples/org.modelingvalue.jdclare.examples.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.examples/src/org/modelingvalue/jdclare/examples/Fibonacci.java:
--------------------------------------------------------------------------------
1 | package org.modelingvalue.jdclare.examples;
2 |
3 | import static java.math.BigInteger.*;
4 | import static org.modelingvalue.jdclare.DClare.*;
5 | import static org.modelingvalue.jdclare.PropertyQualifier.*;
6 |
7 | import java.math.BigInteger;
8 |
9 | import org.modelingvalue.jdclare.DStruct1;
10 | import org.modelingvalue.jdclare.Property;
11 |
12 | public interface Fibonacci extends DStruct1 {
13 |
14 | @Property(key = 0)
15 | int nr();
16 |
17 | @Property(constant)
18 | default BigInteger fibonaci() {
19 | return nr() == 0 ? ZERO : nr() == 1 ? ONE : of(nr() - 1).add(of(nr() - 2));
20 | }
21 |
22 | static BigInteger of(int nr) {
23 | return dStruct(Fibonacci.class, nr).fibonaci();
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing.examples/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing.examples/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.modelingvalue.jdclare.swing.examples
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing.examples/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
4 | org.eclipse.jdt.core.compiler.compliance=11
5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7 | org.eclipse.jdt.core.compiler.release=enabled
8 | org.eclipse.jdt.core.compiler.source=11
9 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing.examples/org.modelingvalue.jdclare.swing.examples.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing.examples/resources/circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ModelingValueGroup/jdclare/8285cc330b75eecc0a7e2069f16a8861cc8599ea/org.modelingvalue.jdclare.swing.examples/resources/circle.png
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing.examples/resources/line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ModelingValueGroup/jdclare/8285cc330b75eecc0a7e2069f16a8861cc8599ea/org.modelingvalue.jdclare.swing.examples/resources/line.png
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing.examples/resources/rectangle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ModelingValueGroup/jdclare/8285cc330b75eecc0a7e2069f16a8861cc8599ea/org.modelingvalue.jdclare.swing.examples/resources/rectangle.png
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing.examples/resources/selection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ModelingValueGroup/jdclare/8285cc330b75eecc0a7e2069f16a8861cc8599ea/org.modelingvalue.jdclare.swing.examples/resources/selection.png
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing.examples/resources/triangle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ModelingValueGroup/jdclare/8285cc330b75eecc0a7e2069f16a8861cc8599ea/org.modelingvalue.jdclare.swing.examples/resources/triangle.png
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing.examples/src/org/modelingvalue/jdclare/swing/examples/newton/CollisionPair.java:
--------------------------------------------------------------------------------
1 | package org.modelingvalue.jdclare.swing.examples.newton;
2 |
3 | import org.modelingvalue.jdclare.DObject;
4 | import org.modelingvalue.jdclare.Property;
5 | import org.modelingvalue.jdclare.swing.draw2d.DPoint;
6 |
7 | public interface CollisionPair extends DObject {
8 |
9 | @Property
10 | double preCollisionTime();
11 |
12 | double postCollisionTime();
13 |
14 | DPoint velocity(Ball ball);
15 |
16 | double distance();
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.modelingvalue.jdclare.swing
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing/org.modelingvalue.jdclare.swing.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing/src/org/modelingvalue/jdclare/swing/Column.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.swing;
15 |
16 | import org.modelingvalue.jdclare.DStruct3;
17 | import org.modelingvalue.jdclare.Property;
18 |
19 | public interface Column extends DStruct3
, C, Integer>, DVisible {
20 |
21 | @Property(key = 0)
22 | Table table();
23 |
24 | @Property(key = 1)
25 | C object();
26 |
27 | @Property(key = 2)
28 | int nr();
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing/src/org/modelingvalue/jdclare/swing/DAction.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.swing;
15 |
16 | import org.modelingvalue.jdclare.DNamed;
17 |
18 | public interface DAction extends DNamed {
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing/src/org/modelingvalue/jdclare/swing/draw2d/CanvasMode.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.swing.draw2d;
15 |
16 | import org.modelingvalue.jdclare.DObject;
17 |
18 | public interface CanvasMode extends DObject {
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.swing/src/org/modelingvalue/jdclare/swing/draw2d/SelectionMode.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.swing.draw2d;
15 |
16 | public interface SelectionMode extends CanvasMode {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax.test/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax.test/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.modelingvalue.jdclare.syntax.test
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax.test/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
5 | org.eclipse.jdt.core.compiler.compliance=11
6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
11 | org.eclipse.jdt.core.compiler.release=enabled
12 | org.eclipse.jdt.core.compiler.source=11
13 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax.test/org.modelingvalue.jdclare.syntax.test.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax.test/src/org/modelingvalue/jdclare/syntax/test/simple/AClass.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.syntax.test.simple;
15 |
16 | import static org.modelingvalue.jdclare.PropertyQualifier.*;
17 |
18 | import org.modelingvalue.collections.Set;
19 | import org.modelingvalue.jdclare.Property;
20 |
21 | public interface AClass extends ANamed {
22 |
23 | @Property(containment)
24 | Set fields();
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax.test/src/org/modelingvalue/jdclare/syntax/test/simple/AExpression.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.syntax.test.simple;
15 |
16 | public interface AExpression extends ATyped {
17 | }
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax.test/src/org/modelingvalue/jdclare/syntax/test/simple/APackage.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.syntax.test.simple;
15 |
16 | import static org.modelingvalue.jdclare.PropertyQualifier.*;
17 |
18 | import org.modelingvalue.collections.Set;
19 | import org.modelingvalue.jdclare.DUUObject;
20 | import org.modelingvalue.jdclare.Property;
21 |
22 | public interface APackage extends DUUObject, ANamed, APackageContainer {
23 |
24 | @Property(containment)
25 | Set classes();
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax.test/src/org/modelingvalue/jdclare/syntax/test/simple/APackageContainer.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.syntax.test.simple;
15 |
16 | import static org.modelingvalue.jdclare.PropertyQualifier.*;
17 |
18 | import org.modelingvalue.collections.Set;
19 | import org.modelingvalue.jdclare.DObject;
20 | import org.modelingvalue.jdclare.Property;
21 |
22 | public interface APackageContainer extends DObject {
23 |
24 | @Property(containment)
25 | Set aPackages();
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax.test/src/org/modelingvalue/jdclare/syntax/test/simple/ATyped.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.syntax.test.simple;
15 |
16 | import org.modelingvalue.jdclare.DObject;
17 | import org.modelingvalue.jdclare.Property;
18 | import org.modelingvalue.jdclare.syntax.test.types.AType;
19 |
20 | public interface ATyped extends DObject {
21 |
22 | @Property
23 | AType type();
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax.test/src/org/modelingvalue/jdclare/syntax/test/simple/AUniverse.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.syntax.test.simple;
15 |
16 | import org.modelingvalue.jdclare.DUniverse;
17 |
18 | public interface AUniverse extends APackageContainer, DUniverse {
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax.test/src/org/modelingvalue/jdclare/syntax/test/types/AType.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.syntax.test.types;
15 |
16 | import org.modelingvalue.collections.Set;
17 | import org.modelingvalue.jdclare.DStruct;
18 | import org.modelingvalue.jdclare.syntax.test.simple.AField;
19 |
20 | public interface AType extends DStruct {
21 |
22 | Set fields();
23 |
24 | default boolean isAssignableFrom(AType type) {
25 | return equals(type);
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.modelingvalue.jdclare.syntax
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
5 | org.eclipse.jdt.core.compiler.compliance=11
6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
11 | org.eclipse.jdt.core.compiler.release=enabled
12 | org.eclipse.jdt.core.compiler.source=11
13 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax/org.modelingvalue.jdclare.syntax.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax/src/org/modelingvalue/jdclare/syntax/Skipped.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.syntax;
15 |
16 | import java.lang.annotation.ElementType;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | @Retention(RetentionPolicy.RUNTIME)
22 | @Target(ElementType.TYPE)
23 | public @interface Skipped {
24 | String[] value();;
25 | }
26 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax/src/org/modelingvalue/jdclare/syntax/meta/ObjectSequenceClass.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.syntax.meta;
15 |
16 | import org.modelingvalue.jdclare.syntax.Grammar.ObjectNode;
17 |
18 | public interface ObjectSequenceClass extends ObjectNodeClass, SequenceClass {
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax/src/org/modelingvalue/jdclare/syntax/meta/ObjectTerminalClass.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.syntax.meta;
15 |
16 | import org.modelingvalue.jdclare.syntax.Grammar.ObjectNode;
17 |
18 | public interface ObjectTerminalClass extends ObjectNodeClass, TerminalClass {
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax/src/org/modelingvalue/jdclare/syntax/meta/StructSequenceClass.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.syntax.meta;
15 |
16 | import org.modelingvalue.jdclare.syntax.Grammar.StructNode;
17 |
18 | public interface StructSequenceClass extends SequenceClass, StructNodeClass {
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax/src/org/modelingvalue/jdclare/syntax/meta/StructTerminalClass.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.syntax.meta;
15 |
16 | import org.modelingvalue.jdclare.syntax.Grammar.StructNode;
17 |
18 | public interface StructTerminalClass extends TerminalClass, StructNodeClass {
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.syntax/src/org/modelingvalue/jdclare/syntax/regex/DMatch.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.syntax.regex;
15 |
16 | import org.modelingvalue.jdclare.DStruct3;
17 | import org.modelingvalue.jdclare.Property;
18 |
19 | public interface DMatch extends DStruct3 {
20 |
21 | @Property(key = 0)
22 | int start();
23 |
24 | @Property(key = 1)
25 | String value();
26 |
27 | @Property(key = 2)
28 | int multiNr();
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.test/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.test/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.modelingvalue.jdclare.test
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.test/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
4 | org.eclipse.jdt.core.compiler.compliance=11
5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7 | org.eclipse.jdt.core.compiler.release=enabled
8 | org.eclipse.jdt.core.compiler.source=11
9 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.test/org.modelingvalue.jdclare.test.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.test/src/org/modelingvalue/jdclare/test/Company.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.test;
15 |
16 | import static org.modelingvalue.jdclare.PropertyQualifier.*;
17 |
18 | import org.modelingvalue.collections.Set;
19 | import org.modelingvalue.jdclare.DNamed;
20 | import org.modelingvalue.jdclare.DUUObject;
21 | import org.modelingvalue.jdclare.Property;
22 |
23 | public interface Company extends DUUObject, DNamed {
24 |
25 | @Property(containment)
26 | Set employees();
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.test/src/org/modelingvalue/jdclare/test/Instrument.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.test;
15 |
16 | import org.modelingvalue.jdclare.DObject;
17 | import org.modelingvalue.jdclare.DStruct1;
18 | import org.modelingvalue.jdclare.Property;
19 |
20 | public interface Instrument extends DObject, DStruct1 {
21 |
22 | @Property(key = 0)
23 | String name();
24 |
25 | default Orchestra orchestra() {
26 | return (Orchestra) dParent();
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.test/src/org/modelingvalue/jdclare/test/Person.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.test;
15 |
16 | import org.modelingvalue.jdclare.DNamed;
17 | import org.modelingvalue.jdclare.DUUObject;
18 |
19 | public interface Person extends DUUObject, DNamed {
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.workbench/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.workbench/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.modelingvalue.jdclare.workbench
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.workbench/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
5 | org.eclipse.jdt.core.compiler.compliance=11
6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
11 | org.eclipse.jdt.core.compiler.release=enabled
12 | org.eclipse.jdt.core.compiler.source=11
13 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare.workbench/org.modelingvalue.jdclare.workbench.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.modelingvalue.jdclare
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
4 | org.eclipse.jdt.core.compiler.compliance=11
5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7 | org.eclipse.jdt.core.compiler.release=enabled
8 | org.eclipse.jdt.core.compiler.source=11
9 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/org.modelingvalue.jdclare.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/Abstract.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | import java.lang.annotation.ElementType;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | @Retention(RetentionPolicy.RUNTIME)
22 | @Target(ElementType.TYPE)
23 | public @interface Abstract {
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/Constraints.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | import java.lang.annotation.ElementType;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | @Retention(RetentionPolicy.RUNTIME)
22 | @Target(ElementType.METHOD)
23 | public @interface Constraints {
24 | }
25 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DClock.java:
--------------------------------------------------------------------------------
1 | package org.modelingvalue.jdclare;
2 |
3 | import static org.modelingvalue.jdclare.DClare.*;
4 |
5 | import java.time.Duration;
6 | import java.time.Instant;
7 |
8 | public interface DClock extends DObject, DStruct0 {
9 |
10 | final double BILLION = 1000000000.0;
11 |
12 | @Property
13 | @Default
14 | default Instant time() {
15 | return dClare().getClock().instant();
16 | }
17 |
18 | @Property
19 | default Duration passTime() {
20 | return Duration.between(pre(this, DClock::time), time());
21 | }
22 |
23 | @Property
24 | default double passSeconds() {
25 | return passTime().toNanos() / BILLION;
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DFunctionObject.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | import java.util.function.Function;
17 |
18 | import org.modelingvalue.collections.List;
19 |
20 | public interface DFunctionObject extends DStruct1, O>> {
21 |
22 | @Property(key = 0)
23 | Function, O> function();
24 |
25 | default O run(List> params) {
26 | return function().apply(params);
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DNamed.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public interface DNamed extends DObject {
17 |
18 | @Property
19 | String name();
20 |
21 | @Override
22 | default String asString() {
23 | return name();
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DSeverity.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public enum DSeverity {
17 | fatal(),
18 | error(),
19 | warning(),
20 | info();
21 | }
22 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DStruct0.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public interface DStruct0 extends DStruct {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DStruct1.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public interface DStruct1 extends DStruct {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DStruct10.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public interface DStruct10 extends DStruct {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DStruct2.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public interface DStruct2 extends DStruct {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DStruct3.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public interface DStruct3 extends DStruct {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DStruct4.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public interface DStruct4 extends DStruct {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DStruct5.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public interface DStruct5 extends DStruct {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DStruct6.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public interface DStruct6 extends DStruct {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DStruct7.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public interface DStruct7 extends DStruct {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DStruct8.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public interface DStruct8 extends DStruct {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DStruct9.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public interface DStruct9 extends DStruct {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/DUUObject.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | import java.util.UUID;
17 |
18 | public interface DUUObject extends DStruct1, DObject {
19 | @Property(key = 0)
20 | UUID uuid();
21 | }
22 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/Default.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | import java.lang.annotation.ElementType;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | @Retention(RetentionPolicy.RUNTIME)
22 | @Target(ElementType.METHOD)
23 | public @interface Default {
24 | }
25 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/Deferred.java:
--------------------------------------------------------------------------------
1 | package org.modelingvalue.jdclare;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | @Retention(RetentionPolicy.RUNTIME)
9 | @Target(ElementType.METHOD)
10 | public @interface Deferred {
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/Extend.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | import java.lang.annotation.ElementType;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | @Retention(RetentionPolicy.RUNTIME)
22 | @Target({ElementType.ANNOTATION_TYPE, ElementType.TYPE})
23 | public @interface Extend {
24 | @SuppressWarnings("rawtypes")
25 | Class[] value();
26 | }
27 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/Native.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | import java.lang.annotation.ElementType;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | @Retention(RetentionPolicy.RUNTIME)
22 | @Target(ElementType.TYPE)
23 | public @interface Native {
24 | @SuppressWarnings("rawtypes")
25 | Class extends DNative> value();
26 | }
27 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/Property.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | import java.lang.annotation.ElementType;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | @Retention(RetentionPolicy.RUNTIME)
22 | @Target(ElementType.METHOD)
23 | public @interface Property {
24 |
25 | PropertyQualifier[] value() default {};
26 |
27 | int key() default -1;
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/PropertyQualifier.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | public enum PropertyQualifier {
17 | mandatory(),
18 | optional(),
19 | containment(),
20 | constant(),
21 | visible(),
22 | hidden(),
23 | validation();
24 | }
25 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/Rule.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare;
15 |
16 | import java.lang.annotation.ElementType;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | @Retention(RetentionPolicy.RUNTIME)
22 | @Target(ElementType.METHOD)
23 | public @interface Rule {
24 | }
25 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/meta/DClassContainer.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.meta;
15 |
16 | import static org.modelingvalue.jdclare.PropertyQualifier.*;
17 |
18 | import org.modelingvalue.collections.Set;
19 | import org.modelingvalue.jdclare.DNamed;
20 | import org.modelingvalue.jdclare.Property;
21 |
22 | public interface DClassContainer extends DNamed {
23 |
24 | @Property(containment)
25 | Set> classes();
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/org.modelingvalue.jdclare/src/org/modelingvalue/jdclare/meta/DPackageContainer.java:
--------------------------------------------------------------------------------
1 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 | // (C) Copyright 2018 Modeling Value Group B.V. (http://modelingvalue.org) ~
3 | // ~
4 | // Licensed under the GNU Lesser General Public License v3.0 (the "License"). You may not use this file except in ~
5 | // compliance with the License. You may obtain a copy of the License at: https://choosealicense.com/licenses/lgpl-3.0 ~
6 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on ~
7 | // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the ~
8 | // specific language governing permissions and limitations under the License. ~
9 | // ~
10 | // Contributors: ~
11 | // Wim Bast, Carel Bast, Tom Brus, Arjan Kok, Ronald Krijgsheld ~
12 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 |
14 | package org.modelingvalue.jdclare.meta;
15 |
16 | import static org.modelingvalue.jdclare.PropertyQualifier.*;
17 |
18 | import org.modelingvalue.collections.Set;
19 | import org.modelingvalue.jdclare.DObject;
20 | import org.modelingvalue.jdclare.Property;
21 |
22 | public interface DPackageContainer extends DObject {
23 |
24 | @Property(containment)
25 | Set packages();
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/postProcessAntFiles.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | sedi() {
4 | if [[ "$OSTYPE" =~ darwin* ]]; then
5 | sed -i '' "$@"
6 | else
7 | sed -i "$@"
8 | fi
9 | }
10 |
11 | for xml in build.xml */module_*.xml; do
12 | echo "===== $xml"
13 | # unfortunately IntellJ generates absolute paths for some zipfileset:
14 | sedi 's| calls:
17 | sedi 's|