Comments (9)
Since slim3 doesn't use aop to detect dirty properties, it is reasonable that
the
values of modify-timestamp-annotated properties will always be overridden by
slim3.
The programmers have no responsibility for taking care of the
modify-timestamp-annotated properties.
Original comment by [email protected]
on 2 May 2010 at 11:19
from slim3.
We will prepare AttributeListener for "Automatic Assigned Property" as follows:
public interface AttributeListener<T> {
/**
* This method is called before a model is put to datastore.
*
* @param value the original property value
* @return the automatic assigned value
*/
T prePut(T value);
}
public class CreatedDate implements AttributeListener<Date> {
public Date prePut(Date value) {
if (value != null) {
return value;
}
return new Date();
}
}
public class UpdatedDate implements AttributeListener<Date> {
public Date prePut(Date value) {
return new Date();
}
}
@Model
public class Xxx {
...
@Attribute(listener = CreatedDate.class)
private Date createdDate;
@Attribute(listener = UpdatedDate.class)
private Date updatedDate;
}
Original comment by [email protected]
on 2 May 2010 at 11:43
- Changed state: Accepted
from slim3.
Original comment by [email protected]
on 2 May 2010 at 11:44
- Added labels: Version-1.0.4
- Removed labels: Version
from slim3.
GJ!
One question: Can I use both listener in one property as below?
@Model
public class Xxx {
...
@Attribute(listener = CreatedDate.class, listener = UpdatedDate.class)
private Date modifyDate;
}
Original comment by [email protected]
on 3 May 2010 at 7:41
from slim3.
> One question: Can I use both listener in one property as below?
No you can't. Just one listener.
Original comment by [email protected]
on 3 May 2010 at 9:04
from slim3.
If I use UpdatedDate.class listener only as below, it seems (from the code)
that
modifyDate will be set to current time even upon entity creation (and that's
what I
want). Am I right?
@Attribute(listener = UpdatedDate.class)
private Date modifyDate;
Original comment by [email protected]
on 3 May 2010 at 9:16
from slim3.
Yes. You are right.
Original comment by [email protected]
on 3 May 2010 at 9:21
from slim3.
Original comment by [email protected]
on 15 May 2010 at 8:07
- Added labels: Version-1.0.5
- Removed labels: Version-1.0.4
from slim3.
Original comment by [email protected]
on 8 Jul 2010 at 9:16
- Changed state: Fixed
from slim3.
Related Issues (20)
- Slim3 + Google App Engine + Andoird + SOAP Message HOT 4
- InverseModelListRef supports limit and cursor HOT 1
- 1.0.13 not generating meta classes HOT 7
- RequestHandler overwrite the parametes to attributes. HOT 2
- Can't open link to Slim3 discussion group HOT 4
- Support for InverseModelRef and InverseListModelRef in JSON function.
- Support for XG transaction HOT 1
- XG transactions do not work in dev server environment and unit testing HOT 1
- DateUtil#toString() and locale HOT 1
- Getting a scary warning: HOT 14
- IllegalArgumentException occured when execute query to polymorphic model with cursor HOT 2
- Support the output order of items in the modelToJson method HOT 2
- Documentation menu for subpages
- Patch for /trunk/slim3demo/src/slim3/demo/controller/checkbox/IndexController.java HOT 1
- MemcacheDelegate uses class which is not part of App Engine's supported API HOT 1
- Support for AND/OR filter
- Extract just Slim3 Controller
- Controller methods for accessing request properties don't work after blobstore upload
- How to using Spring with Slim3 HOT 1
- Patch for /trunk/slim3demo/src/slim3/demo/controller/checkbox/IndexController.java
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from slim3.