The object was created with reify and I need to override one of its method. The only way I found is to use classic OO decorator with another use of reify. Is there any other way?
How to override a method of an existing object?
1k Views Asked by Pol At
1
There are 1 best solutions below
Related Questions in CLOJURE
- core.logic CLP(FD) with ClojureScript
- clojure worker-only app on heroku fails with Error R10
- How do persistent data structures help make Om faster
- Union in HoneySQL
- Reduce memory consumption in development
- twitter response: "error 32: Could not authenticate you" from Heroku, but not desktop
- How can I create a global object, and attach a string and a function to that object, in ClojureScript?
- AngularJS $http GET method to backend server: Request Method:OPTIONS 405
- Clojure : event listener on domina library
- Why is my streamparse topology definition complaining about a wrong number of arguments to thrift$mk-topology?
- Clojure defn name as multiplier
- clojure quoting inside let
- Build macro result with loops
- How do I unit test clojure.core.async go macros?
- Datomic and HornetQException "unable to validate user"
Related Questions in DECORATOR
- Decorated class looses acces to its attributes
- Autofac constructor chaining
- Python decorator pattern: reducing code duplication involving inner functions and functools.wraps
- Define filter for DecorateAllWith() method in structure-map 3
- Understanding decorators: return type is a function when argument not specified
- "is not abstract and does not override abstract method java" using Decorator Pattern
- DependencyResolutionException Circular component dependency detected: How to use Autofac to inject decorator?
- Call a python variable that runs a function which returns a variable for the original python variable
- How to use Autofac to inject decorator of a class in one constructor and the class itself in another?
- How to add attribute to python *class* that is _not_ inherited?
- Rate-limiting python decorator
- python wrapper function taking arguments inside decorator
- Simple Injector decoration with additional dependency
- parse python functions as a string within decorator
- How to test if a view is decorated with "login_required" (Django)
Related Questions in REIFY
- Clojure: implementing stateful Java interface
- Is there a way how to enumerate all functions in a module using Template Haskell?
- Dynamic let form as part of reify within a macro
- Feedback of "reify"
- Rails While Loop: Can't load a page
- One-off instances created with reify cause NPE
- How to call a reified Java interface from a class in Clojure? Call can't be resolved
- Using def-macros to capture source code
- Kotlin reify is not getting the actual instance type
- Is it possible to get a type of any expression using Template Haskell?
- Mocking existing methods in Clojure
- StackOverflowError during macro expansion of reify
- Use a clojure macro to automatically create getters and setters inside a reify call
- How to deserialise a JSON where the corresponding Haskell type is available during runtime as a value?
- How to override a method of an existing object?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I'm afraid you have to make a decorator, because Clojure has no built-in construct to delegate an object's behaviour to another object by default (which I think is called prototypal inheritance).
But that does not mean it has to be tedious - you can use a macro and reflection to automate most of the work. Here's a proof of concept:
How you would use it:
And the expansion:
This implementation generates a
proxyclause, but it could also be done withreify.