You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2013/10/25 10:49:37 UTC
[jira] [Closed] (ISIS-488) Derive Isis' MandatoryFacet from JDO
@Column(allowNulls=) annotation, and provide @Mandatory annotation as
override
[ https://issues.apache.org/jira/browse/ISIS-488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Haywood closed ISIS-488.
----------------------------
> Derive Isis' MandatoryFacet from JDO @Column(allowNulls=) annotation, and provide @Mandatory annotation as override
> -------------------------------------------------------------------------------------------------------------------
>
> Key: ISIS-488
> URL: https://issues.apache.org/jira/browse/ISIS-488
> Project: Isis
> Issue Type: New Feature
> Components: Objectstore: JDO
> Affects Versions: objectstore-jdo-1.1.0
> Reporter: Dan Haywood
> Assignee: Dan Haywood
> Priority: Minor
> Fix For: objectstore-jdo-1.3.0
>
>
> Thus:
> @javax.jdo.annotations.Column(allowNulls="false")
> public String getFoo() { ... }
> is mandatory
> @javax.jdo.annotations.Column(allowNulls="true")
> public String getFoo() { ... }
> is optional
> @javax.jdo.annotations.Column
> public int getFoo() { ... }
> is mandatory (JDO default for primitives)
> @javax.jdo.annotations.Column
> public String getFoo() { ... }
> is optional (JDO default for non-primitives)
> ~~~
> In certain circumstances (when using roll-up SUPERCLASS_TABLE inheritance) it is necessary to annotate a mandatory property as optional in JDO. To force Isis to implement a mandatory check, use the @Mandatory annotation
> eg:
> @javax.jdo.annotations.Inheritance(strategy = InheritanceStrategy.SUPERCLASS_TABLE)
> public class SomeSubclass {
> @javax.jdo.annotations.Column(allowNulls="false")
> @Mandatory
> public String getFoo() { ... }
--
This message was sent by Atlassian JIRA
(v6.1#6144)