-- $Id: java_utility_functions.ty,v 1.2 99/08/05 11:15:07 mrusso Exp $
program java_utility_functions is
use java;
use PSP;
import diff ( _, _ ) from prolog() ;
import
setVariableIntoAPairList (
Identifier, Val |- Pairs -> Pairs, Bool )
from java_expr_evaluation;
set setAttributesValues is
judgement OptTypeName, Pairs |- Objects => Objects;
judgement ObjectId, Pairs |- Objects -> Objects;
--iJ
judgement Pairs |- Pairs -> Pairs;
LookForTheRightClass_RecursiveRule:
ClName1, AttrL |- ObjL1 => Obj1_1
--------------------------------
ClName1, AttrL |-
objects[object(OID, ClName2, A, L, WS, Act).ObjL1] => objects[object(OID, ClName2, A, L, WS, Act).Obj1_1] ;
provided diff( ClName1, ClName2 );
IsTheRightClass:
AttrL1 |- AttrL2 -> AttrL2_1
--------------------------------
ClName, AttrL1 |-
objects[object(OID, ClName, AttrL2, L, WS, Act).ObjL] => objects[object(OID, ClName, AttrL2_1, L, WS, Act).ObjL] ;
LookForTheRightObject_RecursiveRule:
ObjId1, AttrL |- ObjL1 -> Obj1_1
--------------------------------
ObjId1, AttrL |-
objects[object(ObjId2, ClName2, A, L, WS, Act).ObjL1] -> objects[object(ObjId2, ClName2, A, L, WS, Act).Obj1_1] ;
provided diff( ObjId1, ObjId2 );
IsTheRightObject:
AttrL1 |- AttrL2 -> AttrL2_1
--------------------------------
ObjId, AttrL1 |-
objects[object(ObjId, ClName, AttrL2, L, WS, Act).ObjL1] ->
objects[object(ObjId, ClName, AttrL2_1, L, WS, Act).ObjL1] ;
SetAttributeValue:
setVariableIntoAPairList(
AttrName, Val |- AttrL2 -> AttrL3, TF ) &
AttrL1 |- AttrL3 -> AttrL3_1
--------------------------------
pairs[pair(AttrName, Val).AttrL1] |- AttrL2 -> AttrL3_1 ;
NoMoreAttributeToUpdate: pairs[] |- AttrL -> AttrL ;
end setAttributesValues;
set setAttributeValue is
judgement ObjectId, Identifier, ValOrVals |- Objects -> Objects;
LookForTheRightObject_RecursiveRule:
ObjId1, AttrName, Value |- ObjL1 -> Obj1_1
--------------------------------
ObjId1, AttrName, Value |-
objects[object(ObjId2, Cl, A, L, WS, Act).ObjL1] -> objects[object(ObjId2, Cl, A, L, WS, Act).Obj1_1] ;
provided diff( ObjId1, ObjId2 );
IsTheRightObject_updateAttributeValue:
setVariableIntoAPairList(
AttrName, Value |- AttrL1 -> AttrL1_1, TF )
--------------------------------
ObjId, AttrName, Value |-
objects[object(ObjId, Cl, AttrL1, L, WS, Act).ObjL1] -> objects[object(ObjId, Cl, AttrL1_1, L, WS, Act).ObjL1] ;
end setAttributeValue;
set or is
judgement |- Bool, Bool -> Bool;
True: |- true(), _ -> true() ;
True: |- _, true() -> true() ;
False: |- false(), false() -> false() ;
end or;
set and is
judgement |- Bool, Bool -> Bool;
True: |- true(), true() -> true() ;
False: |- false(), _ -> false() ;
False: |- _, false() -> false() ;
end and;
end java_utility_functions