Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

41
LINES

< > BotCompany Repo | #1031839 // IMeta - interface for Meta (#1031838)

JavaX fragment (include) [tags: use-pretranspiled]

Libraryless. Click here for Pure Java version (4786L/27K).

sinterface IMeta {
  // see class "Meta" for the bla bla
  
  public void _setMeta(O meta);
  public O _getMeta();
  default public IAutoCloseableF0 _tempMetaMutex() {
    ret new IAutoCloseableF0 {
      public O get() { ret IMeta.this; }
      public void close {}
    };
  }
  
  // actually query another object
  default public O metaGet aka getMeta(O obj, O key) {
    // call global function
    ret metaMapGet(obj, key);
  }
  
  default public O metaGet(S key, O obj) {
    // call global function
    ret metaMapGet(obj, key);
  }
  
  default public O metaGet aka getMeta(O key) {
    if (key == null) null;
    O meta = _getMeta();
    if (meta cast Map) ret meta.get(key);
    null;
  }
  
  default public void metaPut aka metaSet(IMeta obj, O key, O value) {
    // call global function
    metaMapPut(obj, key, value);
  }
  
  default public void metaPut aka metaSet(O key, O value) {
    if (key == null) ret;
    Map map = convertObjectMetaToMap(this);
    syncMapPutOrRemove(map, key, value);
  }
}

Author comment

Began life as a copy of #1031838

download  show line numbers  debug dex  old transpilations   

Travelled to 7 computer(s): bhatertpkbcr, ekrmjmnbrukm, elmgxqgtpvxh, mowyntqkapby, mqqgnosmbjvj, pyentgdyhuwx, wnsclhtenguj

No comments. add comment

Snippet ID: #1031839
Snippet name: IMeta - interface for Meta (#1031838)
Eternal ID of this version: #1031839/16
Text MD5: 8e7cff8ab1f4511f064832b09dafb698
Transpilation MD5: 406d8b580e36c8e56effd1024b3adec8
Author: stefan
Category: javax / reasoning
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2022-01-02 19:58:14
Source code size: 1058 bytes / 41 lines
Pitched / IR pitched: No / No
Views / Downloads: 342 / 2115
Version history: 15 change(s)
Referenced in: [show references]