1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 package io.github.prolobjectlink.prolog;
27
28 import java.util.Map;
29 import java.util.Set;
30
31
32
33
34
35
36 public interface PrologProgram extends Map<String, PrologClauses>, Iterable<PrologClauses> {
37
38 public PrologClauses get(String functor, int arity);
39
40 public void add(PrologClause clause);
41
42 public void add(PrologProgram program);
43
44 public void push(PrologClause clause);
45
46 public void removeAll(String functor, int arity);
47
48 public void markDynamic(String functor, int arity);
49
50 public void unmarkDynamic(String functor, int arity);
51
52 public boolean isDynamic(String functor, int arity);
53
54 public void markMultifile(String functor, int arity);
55
56 public void unmarkMultifile(String functor, int arity);
57
58 public boolean isMultifile(String functor, int arity);
59
60 public void markDiscontiguous(String functor, int arity);
61
62 public void unmarkDiscontiguous(String functor, int arity);
63
64 public boolean isDiscontiguous(String functor, int arity);
65
66 public PrologClauses newClauses(String functor, int arity);
67
68 public boolean removeAll(PrologProgram program);
69
70 public boolean removeAll(PrologClauses clauses);
71
72 public Map<String, PrologClauses> getClauses();
73
74 public Set<String> getIndicators();
75
76 public void add(PrologClauses clauses);
77
78 public void addAll(PrologProgram program);
79
80 public boolean retainAll(PrologClauses parents);
81
82 public Object[] toArray(PrologClauses[] prologClauses);
83
84 public Object[] toArray();
85
86 }