You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2016/02/10 17:12:41 UTC

[4/5] isis git commit: ISIS-993: moving around and renaming the applib schema files for layout

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3Tab.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3Tab.java b/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3Tab.java
deleted file mode 100644
index 100b8a3..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3Tab.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.bootstrap3;
-
-import java.util.List;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.layout.common.ActionLayoutData;
-import org.apache.isis.applib.layout.common.CollectionLayoutData;
-import org.apache.isis.applib.layout.common.DomainObjectLayoutData;
-import org.apache.isis.applib.layout.common.PropertyLayoutData;
-
-/**
- * Represents a tab within a {@link BS3TabGroup tab group}.
- *
- * <p>
- *     They simply contain one or more {@link BS3Row row}s.
- * </p>
- */
-@XmlType(
-        name = "tab"
-        , propOrder = {
-            "name",
-            "rows"
-        }
-)
-public class BS3Tab extends BS3ElementAbstract implements BS3RowOwner {
-
-    private static final long serialVersionUID = 1L;
-
-    private String name;
-    @XmlAttribute(required = true)
-    public String getName() {
-        return name;
-    }
-
-    public void setName(final String name) {
-        this.name = name;
-    }
-
-
-    private List<BS3Row> rows = Lists.newArrayList();
-
-    // no wrapper
-    @XmlElement(name = "row", required = true)
-    public List<BS3Row> getRows() {
-        return rows;
-    }
-
-    public void setRows(final List<BS3Row> rows) {
-        this.rows = rows;
-    }
-
-
-
-    private BS3TabOwner owner;
-
-    /**
-     * Owner.
-     *
-     * <p>
-     *     Set programmatically by framework after reading in from XML.
-     * </p>
-     */
-    @XmlTransient
-    public BS3TabOwner getOwner() {
-        return owner;
-    }
-
-    public void setOwner(final BS3TabOwner owner) {
-        this.owner = owner;
-    }
-
-
-    public static class Predicates {
-        public static Predicate<BS3Tab> notEmpty() {
-            final AtomicBoolean visitingTheNode = new AtomicBoolean(false);
-            final AtomicBoolean foundContent = new AtomicBoolean(false);
-
-            return new Predicate<BS3Tab>() {
-                @Override
-                public boolean apply(final BS3Tab thisBs3Tab) {
-                    final BS3Grid owningGrid = thisBs3Tab.getGrid();
-                    owningGrid.visit(new BS3Grid.VisitorAdapter() {
-
-                        /**
-                         * if found the tab, then reset 'foundContent' to false, and then use 'visitingTheNode' as
-                         * a marker to indicate that the visitor is now being passed to the nodes underneath the tab.
-                         * In those children, if visited (with the 'visitingTheNode' flag enabled), then simply set the
-                         * 'foundContent' flag.
-                         */
-                        @Override
-                        public void preVisit(final BS3Tab bs3Tab) {
-                            if(bs3Tab == thisBs3Tab) {
-                                foundContent.set(false);
-                                visitingTheNode.set(true);
-                            }
-                        }
-
-                        @Override public void postVisit(final BS3Tab bs3Tab) {
-                            if(bs3Tab == thisBs3Tab) {
-                                visitingTheNode.set(false);
-                            }
-                        }
-
-                        @Override
-                        public void visit(final DomainObjectLayoutData domainObjectLayoutData) {
-                            if(visitingTheNode.get()) {
-                                foundContent.set(true);
-                            }
-                        }
-
-                        @Override
-                        public void visit(final ActionLayoutData actionLayoutData) {
-                            if(visitingTheNode.get()) {
-                                foundContent.set(true);
-                            }
-                        }
-
-                        @Override
-                        public void visit(final PropertyLayoutData propertyLayoutData) {
-                            if(visitingTheNode.get()) {
-                                foundContent.set(true);
-                            }
-                        }
-
-                        @Override
-                        public void visit(final CollectionLayoutData collectionLayoutData) {
-                            if(visitingTheNode.get()) {
-                                foundContent.set(true);
-                            }
-                        }
-                    });
-                    return foundContent.get();
-                }
-            };
-        }
-    }
-
-    @Override
-    @XmlTransient
-    @Programmatic
-    public BS3Grid getGrid() {
-        return getOwner().getGrid();
-    }
-
-    @Override public String toString() {
-        return "BS3Tab{" +
-                "name='" + name + '\'' +
-                '}';
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3TabGroup.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3TabGroup.java b/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3TabGroup.java
deleted file mode 100644
index e10fa63..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3TabGroup.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.bootstrap3;
-
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.annotation.Programmatic;
-
-/**
- * Represents a tab group containing one or more {@link BS3Tab tab}s.
- */
-@XmlType(
-        name = "tabGroup"
-        , propOrder = {
-            "tabs",
-            "metadataError"
-        }
-)
-public class BS3TabGroup extends BS3ElementAbstract implements BS3TabOwner {
-
-    private static final long serialVersionUID = 1L;
-
-
-
-    private Boolean unreferencedCollections;
-    /**
-     * Whether this tab group should be used to hold any unreferenced collections (contributed or &quot;native&quot;).
-     *
-     * <p>
-     *     Any layout must have precisely one tab group or {@link BS3Col col} that has this attribute set.
-     * </p>
-     */
-    @XmlAttribute(required = false)
-    public Boolean isUnreferencedCollections() {
-        return unreferencedCollections;
-    }
-
-    public void setUnreferencedCollections(final Boolean unreferencedCollections) {
-        this.unreferencedCollections = unreferencedCollections;
-    }
-
-
-
-
-    private List<BS3Tab> tabs = Lists.newArrayList();
-
-    // no wrapper; required=false because may be auto-generated
-    @XmlElement(name = "tab", required = false)
-    public List<BS3Tab> getTabs() {
-        return tabs;
-    }
-
-    public void setTabs(final List<BS3Tab> tabs) {
-        this.tabs = tabs;
-    }
-
-
-    private BS3TabGroupOwner owner;
-
-    /**
-     * Owner.
-     *
-     * <p>
-     *     Set programmatically by framework after reading in from XML.
-     * </p>
-     */
-    @XmlTransient
-    public BS3TabGroupOwner getOwner() {
-        return owner;
-    }
-
-    public void setOwner(final BS3TabGroupOwner owner) {
-        this.owner = owner;
-    }
-
-
-
-    private String metadataError;
-
-    /**
-     * For diagnostics; populated by the framework if and only if a metadata error.
-     */
-    @XmlElement(required = false)
-    public String getMetadataError() {
-        return metadataError;
-    }
-
-    public void setMetadataError(final String metadataError) {
-        this.metadataError = metadataError;
-    }
-
-    @Override
-    @XmlTransient
-    @Programmatic
-    public BS3Grid getGrid() {
-        return getOwner().getGrid();
-    }
-
-}
-

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3TabGroupOwner.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3TabGroupOwner.java b/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3TabGroupOwner.java
deleted file mode 100644
index 24b6b0e..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3TabGroupOwner.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.bootstrap3;
-
-import java.util.List;
-
-import org.apache.isis.applib.layout.common.Owner;
-
-public interface BS3TabGroupOwner extends Owner, WithinGrid {
-
-    List<BS3TabGroup> getTabGroups();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3TabOwner.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3TabOwner.java b/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3TabOwner.java
deleted file mode 100644
index ebcb4ae..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/BS3TabOwner.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.bootstrap3;
-
-import java.util.List;
-
-import org.apache.isis.applib.layout.common.Owner;
-
-public interface BS3TabOwner extends Owner, WithinGrid {
-
-    List<BS3Tab> getTabs();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/HasCssId.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/HasCssId.java b/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/HasCssId.java
deleted file mode 100644
index e671d5b..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/HasCssId.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.bootstrap3;
-
-public interface HasCssId {
-
-    /**
-     * As per &lt;div id=&quot;...&quot;&gt;...&lt;/div&gt; : must be unique across entire page.
-     */
-    String getId();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/WithinGrid.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/WithinGrid.java b/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/WithinGrid.java
deleted file mode 100644
index ac3faa5..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/WithinGrid.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.bootstrap3;
-
-import org.apache.isis.applib.annotation.Programmatic;
-
-public interface WithinGrid {
-
-    @Programmatic
-    BS3Grid getGrid();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/package-info.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/package-info.java
deleted file mode 100644
index 751f620..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/bootstrap3/package-info.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/**
- * The classes in this package define how to layout the properties, collections and actions of a domain object - the
- * building blocks - as defined in the <code>members.v1</code> package.
- *
- * <p>
- *     The layout is modelled closely after <a href="http://getbootstrap.com/">Bootstrap</a>, and is intended to
- *     support the grid layouts implemented by that CSS framework.  This flexibility comes at the cost of some
- *     verbosity.
- * </p>
- */
-@javax.xml.bind.annotation.XmlSchema(
-        namespace = "http://isis.apache.org/schema/applib/layout/bootstrap3",
-        elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED
-)
-package org.apache.isis.applib.layout.bootstrap3;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/ActionLayoutData.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/ActionLayoutData.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/ActionLayoutData.java
deleted file mode 100644
index 6bd4113..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/ActionLayoutData.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-import java.io.Serializable;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.applib.annotation.Where;
-
-/**
- * Describes the layout of a single action, broadly corresponding to {@link org.apache.isis.applib.annotation.ActionLayout}.
- *
- * <p>
- *  Note that {@link org.apache.isis.applib.annotation.ActionLayout#contributed()} is omitted because this only applies
- *  to domain services.
- * </p>
- */
-@XmlRootElement(
-        name = "action"
-)
-@XmlType(
-    name = "action"
-    , propOrder = {
-        "named"
-        , "describedAs"
-        , "metadataError"
-    }
-)
-public class ActionLayoutData implements Serializable, Owned<ActionLayoutDataOwner>, HasCssClass, HasCssClassFa,
-        HasDescribedAs, HasHidden, HasNamed, HasBookmarking {
-
-    private static final long serialVersionUID = 1L;
-
-    public ActionLayoutData() {
-    }
-    public ActionLayoutData(final String id) {
-        setId(id);
-    }
-
-    private String id;
-    /**
-     * Method name.
-     *
-     * <p>
-     *     Overloaded methods are not supported.
-     * </p>
-     */
-    @XmlAttribute(name="id", required = true)
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-
-
-    private BookmarkPolicy bookmarking;
-
-    @Override
-    @XmlAttribute(required = false)
-    public BookmarkPolicy getBookmarking() {
-        return bookmarking;
-    }
-
-    @Override
-    public void setBookmarking(BookmarkPolicy bookmarking) {
-        this.bookmarking = bookmarking;
-    }
-
-
-    private String cssClass;
-
-    @Override
-    @XmlAttribute(required = false)
-    public String getCssClass() {
-        return cssClass;
-    }
-
-    @Override
-    public void setCssClass(String cssClass) {
-        this.cssClass = cssClass;
-    }
-
-
-    private String cssClassFa;
-
-    @Override
-    @XmlAttribute(required = false)
-    public String getCssClassFa() {
-        return cssClassFa;
-    }
-
-    @Override
-    public void setCssClassFa(String cssClassFa) {
-        this.cssClassFa = cssClassFa;
-    }
-
-
-
-    private org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition cssClassFaPosition;
-
-    @Override
-    @XmlAttribute(required = false)
-    public org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition getCssClassFaPosition() {
-        return cssClassFaPosition;
-    }
-
-    @Override
-    public void setCssClassFaPosition(org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition cssClassFaPosition) {
-        this.cssClassFaPosition = cssClassFaPosition;
-    }
-
-
-    private String describedAs;
-
-    @Override
-    @XmlElement(required = false)
-    public String getDescribedAs() {
-        return describedAs;
-    }
-
-    @Override
-    public void setDescribedAs(String describedAs) {
-        this.describedAs = describedAs;
-    }
-
-
-
-    private Where hidden;
-
-    @Override
-    @XmlAttribute(required = false)
-    public Where getHidden() {
-        return hidden;
-    }
-
-    @Override
-    public void setHidden(Where hidden) {
-        this.hidden = hidden;
-    }
-
-
-
-    private String named;
-
-    @Override
-    @XmlElement(required = false)
-    public String getNamed() {
-        return named;
-    }
-
-    @Override
-    public void setNamed(String named) {
-        this.named = named;
-    }
-
-
-
-    private Boolean namedEscaped;
-
-    @Override
-    @XmlAttribute(required = false)
-    public Boolean getNamedEscaped() {
-        return namedEscaped;
-    }
-
-    @Override
-    public void setNamedEscaped(Boolean namedEscaped) {
-        this.namedEscaped = namedEscaped;
-    }
-
-
-
-    private org.apache.isis.applib.annotation.ActionLayout.Position position;
-
-    @XmlAttribute(required = false)
-    public org.apache.isis.applib.annotation.ActionLayout.Position getPosition() {
-        return position;
-    }
-
-    public void setPosition(org.apache.isis.applib.annotation.ActionLayout.Position position) {
-        this.position = position;
-    }
-
-
-
-
-    private ActionLayoutDataOwner owner;
-    /**
-     * Owner.
-     *
-     * <p>
-     *     Set programmatically by framework after reading in from XML.
-     * </p>
-     */
-    @XmlTransient
-    public ActionLayoutDataOwner getOwner() {
-        return owner;
-    }
-
-    public void setOwner(final ActionLayoutDataOwner owner) {
-        this.owner = owner;
-    }
-
-
-    private String metadataError;
-
-    /**
-     * For diagnostics; populated by the framework if and only if a metadata error.
-     */
-    @XmlElement(required = false)
-    public String getMetadataError() {
-        return metadataError;
-    }
-
-    public void setMetadataError(final String metadataError) {
-        this.metadataError = metadataError;
-    }
-
-
-
-    @Override public String toString() {
-        return "ActionLayoutData{" +
-                "id='" + id + '\'' +
-                '}';
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/ActionLayoutDataOwner.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/ActionLayoutDataOwner.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/ActionLayoutDataOwner.java
deleted file mode 100644
index bf2c9ca..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/ActionLayoutDataOwner.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-import java.util.List;
-
-public interface ActionLayoutDataOwner extends Owner {
-    List<ActionLayoutData> getActions();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/CollectionLayoutData.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/CollectionLayoutData.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/CollectionLayoutData.java
deleted file mode 100644
index 05a331f..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/CollectionLayoutData.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-import java.io.Serializable;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import com.google.common.base.Function;
-
-import org.apache.isis.applib.annotation.Where;
-
-/**
- * Describes the layout of a single collection, broadly corresponds to the {@link org.apache.isis.applib.annotation.CollectionLayout} annotation.
- *
- * <p>
- *     Note that {@link org.apache.isis.applib.annotation.CollectionLayout#render()} is omitted because
- *     {@link #defaultView} is its replacement.
- * </p>
- */
-@XmlRootElement(
-        name = "collection"
-)
-@XmlType(
-        name = "collection"
-        , propOrder = {
-                "named"
-                ,"describedAs"
-                ,"sortedBy"
-                , "actions"
-                , "metadataError"
-        }
-)
-public class CollectionLayoutData
-        implements MemberRegion<CollectionLayoutDataOwner>,
-                   ActionLayoutDataOwner,
-                   Serializable,
-                   HasCssClass, HasDescribedAs, HasHidden, HasNamed {
-
-    private static final long serialVersionUID = 1L;
-
-    public CollectionLayoutData() {
-    }
-    public CollectionLayoutData(final String id) {
-        setId(id);
-    }
-
-
-    private String id;
-
-    /**
-     * Collection identifier, being the getter method without "get" prefix, first letter lower cased.
-     */
-    @XmlAttribute(required = true)
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-
-
-    private String cssClass;
-
-    @Override
-    @XmlAttribute(required = false)
-    public String getCssClass() {
-        return cssClass;
-    }
-
-    @Override
-    public void setCssClass(String cssClass) {
-        this.cssClass = cssClass;
-    }
-
-
-
-    private String describedAs;
-
-    @Override
-    @XmlElement(required = false)
-    public String getDescribedAs() {
-        return describedAs;
-    }
-
-    @Override
-    public void setDescribedAs(String describedAs) {
-        this.describedAs = describedAs;
-    }
-
-
-
-    private String defaultView;
-
-    /**
-     * Typically <code>table</code> or <code>hidden</code>, but could be any other named view that is configured and
-     * appropriate, eg <code>gmap3</code> or <code>fullcalendar2</code>.
-     */
-    @XmlAttribute(required = false)
-    public String getDefaultView() {
-        return defaultView;
-    }
-
-    public void setDefaultView(String defaultView) {
-        this.defaultView = defaultView;
-    }
-
-
-    private Where hidden;
-
-    @Override
-    @XmlAttribute(required = false)
-    public Where getHidden() {
-        return hidden;
-    }
-
-    @Override
-    public void setHidden(Where hidden) {
-        this.hidden = hidden;
-    }
-
-
-    private String named;
-
-    @Override
-    @XmlElement(required = false)
-    public String getNamed() {
-        return named;
-    }
-
-    @Override
-    public void setNamed(String named) {
-        this.named = named;
-    }
-
-
-    private Boolean namedEscaped;
-
-    @Override
-    @XmlAttribute(required = false)
-    public Boolean getNamedEscaped() {
-        return namedEscaped;
-    }
-
-    @Override
-    public void setNamedEscaped(Boolean namedEscaped) {
-        this.namedEscaped = namedEscaped;
-    }
-
-
-    private Integer paged;
-
-    @XmlAttribute(required = false)
-    public Integer getPaged() {
-        return paged;
-    }
-
-    public void setPaged(Integer paged) {
-        this.paged = paged;
-    }
-
-
-
-    private String sortedBy;
-
-    @XmlElement(required = false)
-    public String getSortedBy() {
-        return sortedBy;
-    }
-
-    public void setSortedBy(String sortedBy) {
-        this.sortedBy = sortedBy;
-    }
-
-
-
-    private List<ActionLayoutData> actions;
-
-    // no wrapper
-    @XmlElement(name = "action", required = false)
-    public List<ActionLayoutData> getActions() {
-        return actions;
-    }
-
-    public void setActions(List<ActionLayoutData> actionLayoutDatas) {
-        this.actions = actionLayoutDatas;
-    }
-
-
-
-    private CollectionLayoutDataOwner owner;
-    /**
-     * Owner.
-     *
-     * <p>
-     *     Set programmatically by framework after reading in from XML.
-     * </p>
-     */
-    @XmlTransient
-    public CollectionLayoutDataOwner getOwner() {
-        return owner;
-    }
-
-    public void setOwner(final CollectionLayoutDataOwner owner) {
-        this.owner = owner;
-    }
-
-
-    private String metadataError;
-
-    /**
-     * For diagnostics; populated by the framework if and only if a metadata error.
-     */
-    @XmlElement(required = false)
-    public String getMetadataError() {
-        return metadataError;
-    }
-
-    public void setMetadataError(final String metadataError) {
-        this.metadataError = metadataError;
-    }
-
-
-
-
-
-    public static class Functions {
-        private Functions(){}
-
-        public static Function<CollectionLayoutData, String> id() {
-            return new Function<CollectionLayoutData, String>() {
-                @Override
-                public String apply(final CollectionLayoutData metadata) {
-                    return metadata.getId();
-                }
-            };
-        }
-    }
-
-    @Override public String toString() {
-        return "CollectionLayoutData{" +
-                "id='" + id + '\'' +
-                '}';
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/CollectionLayoutDataOwner.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/CollectionLayoutDataOwner.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/CollectionLayoutDataOwner.java
deleted file mode 100644
index 0eae2c7..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/CollectionLayoutDataOwner.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-import java.util.List;
-
-public interface CollectionLayoutDataOwner extends MemberRegionOwner {
-
-    List<CollectionLayoutData> getCollections();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/DomainObjectLayoutData.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/DomainObjectLayoutData.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/DomainObjectLayoutData.java
deleted file mode 100644
index a0502e3..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/DomainObjectLayoutData.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-import java.io.Serializable;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.isis.applib.annotation.BookmarkPolicy;
-
-/**
- * Describes the layout of the title and icon of a domain object, broadly corresponding to {@link org.apache.isis.applib.annotation.DomainObjectLayout}.
- */
-@XmlRootElement(
-        name = "domainObject"
-)
-@XmlType(
-        name = "domainObject"
-        , propOrder = {
-            "named"
-            , "describedAs"
-            , "plural"
-            , "metadataError"
-        }
-)
-public class DomainObjectLayoutData implements Serializable, Owned<DomainObjectLayoutDataOwner>,
-        HasBookmarking, HasCssClass, HasCssClassFa, HasDescribedAs, HasNamed {
-
-    private static final long serialVersionUID = 1L;
-
-    public DomainObjectLayoutData() {
-    }
-
-
-    private BookmarkPolicy bookmarking;
-
-    @Override
-    @XmlAttribute(required = false)
-    public BookmarkPolicy getBookmarking() {
-        return bookmarking;
-    }
-
-    @Override
-    public void setBookmarking(BookmarkPolicy bookmarking) {
-        this.bookmarking = bookmarking;
-    }
-
-
-
-    private String cssClass;
-
-    @Override
-    @XmlAttribute(required = false)
-    public String getCssClass() {
-        return cssClass;
-    }
-
-    @Override
-    public void setCssClass(String cssClass) {
-        this.cssClass = cssClass;
-    }
-
-
-    private String cssClassFa;
-
-    @Override
-    @XmlAttribute(required = false)
-    public String getCssClassFa() {
-        return cssClassFa;
-    }
-
-    @Override
-    public void setCssClassFa(String cssClassFa) {
-        this.cssClassFa = cssClassFa;
-    }
-
-
-
-    private org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition cssClassFaPosition;
-
-    @Override
-    @XmlAttribute(required = false)
-    public org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition getCssClassFaPosition() {
-        return cssClassFaPosition;
-    }
-
-    @Override
-    public void setCssClassFaPosition(org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition cssClassFaPosition) {
-        this.cssClassFaPosition = cssClassFaPosition;
-    }
-
-
-    private String describedAs;
-
-    @Override
-    @XmlElement(required = false)
-    public String getDescribedAs() {
-        return describedAs;
-    }
-
-    @Override
-    public void setDescribedAs(String describedAs) {
-        this.describedAs = describedAs;
-    }
-
-
-
-    private String named;
-
-    @Override
-    @XmlElement(required = false)
-    public String getNamed() {
-        return named;
-    }
-
-    @Override
-    public void setNamed(String named) {
-        this.named = named;
-    }
-
-
-    private Boolean namedEscaped;
-
-    @Override
-    @XmlAttribute(required = false)
-    public Boolean getNamedEscaped() {
-        return namedEscaped;
-    }
-
-    @Override
-    public void setNamedEscaped(Boolean namedEscaped) {
-        this.namedEscaped = namedEscaped;
-    }
-
-
-
-    private String plural;
-
-    @XmlElement(required = false)
-    public String getPlural() {
-        return plural;
-    }
-
-    public void setPlural(String plural) {
-        this.plural = plural;
-    }
-
-
-
-
-
-    private String metadataError;
-
-    /**
-     * For diagnostics; populated by the framework if and only if a metadata error.
-     */
-    @XmlElement(required = false)
-    public String getMetadataError() {
-        return metadataError;
-    }
-
-    public void setMetadataError(final String metadataError) {
-        this.metadataError = metadataError;
-    }
-
-
-
-    private DomainObjectLayoutDataOwner owner;
-    /**
-     * Owner.
-     *
-     * <p>
-     *     Set programmatically by framework after reading in from XML.
-     * </p>
-     */
-    @XmlTransient
-    public DomainObjectLayoutDataOwner getOwner() {
-        return owner;
-    }
-
-    public void setOwner(final DomainObjectLayoutDataOwner owner) {
-        this.owner = owner;
-    }
-
-
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/DomainObjectLayoutDataOwner.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/DomainObjectLayoutDataOwner.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/DomainObjectLayoutDataOwner.java
deleted file mode 100644
index 77e9e8c..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/DomainObjectLayoutDataOwner.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-public interface DomainObjectLayoutDataOwner extends Owner {
-
-    DomainObjectLayoutData getDomainObject();
-    void setDomainObject(DomainObjectLayoutData domainObjectLayoutData);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/FieldSet.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/FieldSet.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/FieldSet.java
deleted file mode 100644
index 7037135..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/FieldSet.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-import java.io.Serializable;
-import java.util.List;
-
-import javax.annotation.Nullable;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.layout.bootstrap3.BS3Col;
-
-/**
- * A {@link MemberRegion region} of the page containing a set of
- * related {@link PropertyLayoutData properties} and associated
- * {@link ActionLayoutData actions}.
- */
-@XmlRootElement(
-        name = "fieldSet"
-)
-@XmlType(
-        name = "fieldSet"
-        , propOrder = {
-                "name"
-                , "actions"
-                , "properties"
-                , "metadataError"
-        }
-)
-public class FieldSet
-        implements MemberRegion<FieldSetOwner>,
-                   ActionLayoutDataOwner,
-                   Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    public FieldSet() {
-    }
-
-    public FieldSet(final String name) {
-        setName(name);
-    }
-
-
-
-    private String id;
-
-    /**
-     * As per &lt;div id=&quot;...&quot;&gt;...&lt;/div&gt; : must be unique across entire page.
-     */
-    @XmlAttribute(required = false)
-    public String getId() {
-        return id;
-    }
-
-    public void setId(final String id) {
-        this.id = id;
-    }
-
-
-
-    private Boolean unreferencedActions;
-
-    /**
-     * Whether this fieldset should be used to hold any unreferenced actions (contributed or &quot;native&quot;).
-     *
-     * <p>
-     *     Any layout must have precisely one fieldset or {@link BS3Col col} that has this attribute set.
-     * </p>
-     */
-    @XmlAttribute(required = false)
-    public Boolean isUnreferencedActions() {
-        return unreferencedActions;
-    }
-
-    public void setUnreferencedActions(final Boolean unreferencedActions) {
-        this.unreferencedActions = unreferencedActions;
-    }
-
-
-    private Boolean unreferencedProperties;
-    /**
-     * Whether this fieldset should be used to hold any unreferenced properties (contributed or &quot;native&quot;).
-     *
-     * <p>
-     *     Any grid layout must have precisely one fieldset that has this attribute set.
-     * </p>
-     */
-    @XmlAttribute(required = false)
-    public Boolean isUnreferencedProperties() {
-        return unreferencedProperties;
-    }
-
-    public void setUnreferencedProperties(final Boolean unreferencedProperties) {
-        this.unreferencedProperties = unreferencedProperties;
-    }
-
-
-
-
-    private String name;
-
-    /**
-     * Corresponds to the {@link MemberOrder#name()} (when applied to properties).
-     */
-    @XmlAttribute(required = true)
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-
-
-    private List<ActionLayoutData> actions = Lists.newArrayList();
-
-    // no wrapper
-    @XmlElement(name = "action", required = false)
-    public List<ActionLayoutData> getActions() {
-        return actions;
-    }
-
-    public void setActions(List<ActionLayoutData> actionLayoutDatas) {
-        this.actions = actionLayoutDatas;
-    }
-
-
-
-    private List<PropertyLayoutData> properties = Lists.newArrayList();
-
-    // no wrapper; required=false because may be auto-generated
-    @XmlElement(name = "property", required = false)
-    public List<PropertyLayoutData> getProperties() {
-        return properties;
-    }
-
-    public void setProperties(List<PropertyLayoutData> properties) {
-        this.properties = properties;
-    }
-
-
-    private FieldSetOwner owner;
-    /**
-     * Owner.
-     *
-     * <p>
-     *     Set programmatically by framework after reading in from XML.
-     * </p>
-     */
-    @XmlTransient
-    public FieldSetOwner getOwner() {
-        return owner;
-    }
-
-    public void setOwner(final FieldSetOwner owner) {
-        this.owner = owner;
-    }
-
-
-
-
-
-    private String metadataError;
-
-    /**
-     * For diagnostics; populated by the framework if and only if a metadata error.
-     */
-    @XmlElement(required = false)
-    public String getMetadataError() {
-        return metadataError;
-    }
-
-    public void setMetadataError(final String metadataError) {
-        this.metadataError = metadataError;
-    }
-
-
-
-    public static class Util {
-        private Util(){}
-        public static Function<? super FieldSet, String> nameOf() {
-            return new Function<FieldSet, String>() {
-                @Nullable @Override
-                public String apply(@Nullable final FieldSet fieldSet) {
-                    return fieldSet.getName();
-                }
-            };
-        }
-    }
-
-    @Override public String toString() {
-        return "FieldSet{" +
-                "id='" + id + '\'' +
-                '}';
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/FieldSetOwner.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/FieldSetOwner.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/FieldSetOwner.java
deleted file mode 100644
index f3e5fd0..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/FieldSetOwner.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-import java.util.List;
-
-public interface FieldSetOwner extends MemberRegionOwner {
-    List<FieldSet> getFieldSets();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/Grid.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/Grid.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/Grid.java
deleted file mode 100644
index fd7b067..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/Grid.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-import java.util.LinkedHashMap;
-
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.services.layout.GridService;
-
-/**
- * All top-level page layout classes should implement this interface.
- *
- * <p>
- *     It is used by the {@link GridService} as a common based type for any layouts read in from XML.
- * </p>
- */
-public interface Grid {
-
-    @Programmatic
-    Class<?> getDomainClass();
-
-    @Programmatic
-    void setDomainClass(final Class<?> domainClass);
-
-    @Programmatic
-    boolean isNormalized();
-
-    @Programmatic
-    void setNormalized(final boolean normalized);
-
-    @Programmatic
-    LinkedHashMap<String, PropertyLayoutData> getAllPropertiesById();
-
-    @Programmatic
-    LinkedHashMap<String, CollectionLayoutData> getAllCollectionsById();
-
-    @Programmatic
-    LinkedHashMap<String, ActionLayoutData> getAllActionsById();
-
-    interface Visitor {
-        void visit(final DomainObjectLayoutData domainObjectLayoutData);
-
-        void visit(final ActionLayoutData actionLayoutData);
-
-        void visit(final PropertyLayoutData propertyLayoutData);
-
-        void visit(final CollectionLayoutData collectionLayoutData);
-
-        void visit(final FieldSet fieldSet);
-    }
-
-    class VisitorAdapter implements Visitor {
-        @Override public void visit(final DomainObjectLayoutData domainObjectLayoutData) {
-        }
-        @Override public void visit(final ActionLayoutData actionLayoutData) {
-        }
-        @Override public void visit(final PropertyLayoutData propertyLayoutData) {
-        }
-        @Override public void visit(final CollectionLayoutData collectionLayoutData) {
-        }
-        @Override public void visit(final FieldSet fieldSet) {
-        }
-    }
-
-    @Programmatic
-    void visit(final Grid.Visitor visitor);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/GridAbstract.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/GridAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/GridAbstract.java
deleted file mode 100644
index eac1588..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/GridAbstract.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-import java.util.LinkedHashMap;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlTransient;
-
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.layout.bootstrap3.BS3Grid;
-import org.apache.isis.applib.services.layout.GridService;
-
-/**
- * All top-level page layout classes should implement this interface.
- *
- * <p>
- *     It is used by the {@link GridService} as a common based type for any layouts read in from XML.
- * </p>
- */
-@XmlTransient // ignore this class
-public abstract class GridAbstract implements Grid {
-
-
-    private Class<?> domainClass;
-
-    @Programmatic
-    @XmlTransient
-    public Class<?> getDomainClass() {
-        return domainClass;
-    }
-
-    @Programmatic
-    public void setDomainClass(final Class<?> domainClass) {
-        this.domainClass = domainClass;
-    }
-
-
-
-    private boolean normalized;
-
-    @Programmatic
-    @XmlTransient
-    public boolean isNormalized() {
-        return normalized;
-    }
-
-    @Programmatic
-    public void setNormalized(final boolean normalized) {
-        this.normalized = normalized;
-    }
-
-
-    /**
-     * Convenience for subclasses.
-     */
-    protected void traverseActions(
-            final ActionLayoutDataOwner actionLayoutDataOwner,
-            final GridAbstract.Visitor visitor) {
-        final List<ActionLayoutData> actionLayoutDatas = actionLayoutDataOwner.getActions();
-        if(actionLayoutDatas == null) {
-            return;
-        }
-        for (final ActionLayoutData actionLayoutData : Lists.newArrayList(actionLayoutDatas)) {
-            actionLayoutData.setOwner(actionLayoutDataOwner);
-            visitor.visit(actionLayoutData);
-        }
-    }
-
-
-    /**
-     * Convenience for subclasses.
-     */
-    protected void traverseFieldSets(final FieldSetOwner fieldSetOwner, final GridAbstract.Visitor visitor) {
-        final List<FieldSet> fieldSets = fieldSetOwner.getFieldSets();
-        for (FieldSet fieldSet : Lists.newArrayList(fieldSets)) {
-            fieldSet.setOwner(fieldSetOwner);
-            visitor.visit(fieldSet);
-            traverseActions(fieldSet, visitor);
-            final List<PropertyLayoutData> properties = fieldSet.getProperties();
-            for (final PropertyLayoutData property : Lists.newArrayList(properties)) {
-                property.setOwner(fieldSet);
-                visitor.visit(property);
-                traverseActions(property, visitor);
-            }
-        }
-    }
-
-
-    /**
-     * Convenience for subclasses.
-     */
-    protected void traverseCollections(
-            final CollectionLayoutDataOwner owner, final GridAbstract.Visitor visitor) {
-        final List<CollectionLayoutData> collections = owner.getCollections();
-        for (CollectionLayoutData collection : Lists.newArrayList(collections)) {
-            collection.setOwner(owner);
-            visitor.visit(collection);
-            traverseActions(collection, visitor);
-        }
-    }
-
-
-    @Programmatic
-    @XmlTransient
-    public LinkedHashMap<String, PropertyLayoutData> getAllPropertiesById() {
-        final LinkedHashMap<String, PropertyLayoutData> propertiesById = Maps.newLinkedHashMap();
-        visit(new BS3Grid.VisitorAdapter() {
-            public void visit(final PropertyLayoutData propertyLayoutData) {
-                propertiesById.put(propertyLayoutData.getId(), propertyLayoutData);
-            }
-        });
-        return propertiesById;
-    }
-
-
-    @Programmatic
-    @XmlTransient
-    public LinkedHashMap<String, CollectionLayoutData> getAllCollectionsById() {
-        final LinkedHashMap<String, CollectionLayoutData> collectionsById = Maps.newLinkedHashMap();
-
-        visit(new BS3Grid.VisitorAdapter() {
-            @Override
-            public void visit(final CollectionLayoutData collectionLayoutData) {
-                collectionsById.put(collectionLayoutData.getId(), collectionLayoutData);
-            }
-        });
-        return collectionsById;
-    }
-
-
-    @Programmatic
-    @XmlTransient
-    public LinkedHashMap<String, ActionLayoutData> getAllActionsById() {
-        final LinkedHashMap<String, ActionLayoutData> actionsById = Maps.newLinkedHashMap();
-
-        visit(new BS3Grid.VisitorAdapter() {
-            @Override
-            public void visit(final ActionLayoutData actionLayoutData) {
-                actionsById.put(actionLayoutData.getId(), actionLayoutData);
-            }
-        });
-        return actionsById;
-    }
-
-
-    @Programmatic
-    @XmlTransient
-    public LinkedHashMap<String, FieldSet> getAllFieldSetsByName() {
-        final LinkedHashMap<String, FieldSet> fieldSetsByName = Maps.newLinkedHashMap();
-
-        visit(new BS3Grid.VisitorAdapter() {
-            @Override
-            public void visit(final FieldSet fieldSet) {
-                fieldSetsByName.put(fieldSet.getName(), fieldSet);
-            }
-        });
-        return fieldSetsByName;
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasBookmarking.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasBookmarking.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasBookmarking.java
deleted file mode 100644
index ad841a2..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasBookmarking.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.apache.isis.applib.layout.common;
-
-import javax.xml.bind.annotation.XmlAttribute;
-
-import org.apache.isis.applib.annotation.BookmarkPolicy;
-
-/**
- * Created by Dan on 10/02/2016.
- */
-public interface HasBookmarking {
-    @XmlAttribute(required = false) BookmarkPolicy getBookmarking();
-
-    void setBookmarking(BookmarkPolicy bookmarking);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasCssClass.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasCssClass.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasCssClass.java
deleted file mode 100644
index e42dc09..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasCssClass.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.apache.isis.applib.layout.common;
-
-import javax.xml.bind.annotation.XmlAttribute;
-
-/**
- * Created by Dan on 10/02/2016.
- */
-public interface HasCssClass {
-    @XmlAttribute(required = false) String getCssClass();
-
-    void setCssClass(String cssClass);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasCssClassFa.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasCssClassFa.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasCssClassFa.java
deleted file mode 100644
index 763b8dd..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasCssClassFa.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.apache.isis.applib.layout.common;
-
-import javax.xml.bind.annotation.XmlAttribute;
-
-/**
- * Created by Dan on 10/02/2016.
- */
-public interface HasCssClassFa {
-    @XmlAttribute(required = false) String getCssClassFa();
-
-    void setCssClassFa(String cssClassFa);
-
-    @XmlAttribute(required = false) org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition getCssClassFaPosition();
-
-    void setCssClassFaPosition(org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition cssClassFaPosition);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasDescribedAs.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasDescribedAs.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasDescribedAs.java
deleted file mode 100644
index f19c95a..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasDescribedAs.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.apache.isis.applib.layout.common;
-
-import javax.xml.bind.annotation.XmlElement;
-
-/**
- * Created by Dan on 10/02/2016.
- */
-public interface HasDescribedAs {
-    @XmlElement(required = false) String getDescribedAs();
-
-    void setDescribedAs(String describedAs);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasHidden.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasHidden.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasHidden.java
deleted file mode 100644
index 7953141..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasHidden.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.apache.isis.applib.layout.common;
-
-import javax.xml.bind.annotation.XmlAttribute;
-
-import org.apache.isis.applib.annotation.Where;
-
-/**
- * Created by Dan on 10/02/2016.
- */
-public interface HasHidden {
-    @XmlAttribute(required = false) Where getHidden();
-
-    void setHidden(Where hidden);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasNamed.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasNamed.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasNamed.java
deleted file mode 100644
index 4a29ee9..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/HasNamed.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.apache.isis.applib.layout.common;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-
-/**
- * Created by Dan on 10/02/2016.
- */
-public interface HasNamed {
-    @XmlElement(required = false) String getNamed();
-
-    void setNamed(String named);
-
-    @XmlAttribute(required = false) Boolean getNamedEscaped();
-
-    void setNamedEscaped(Boolean namedEscaped);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/MemberRegion.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/MemberRegion.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/MemberRegion.java
deleted file mode 100644
index f335cde..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/MemberRegion.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-/**
- * Represents an area on the page containing one or several related members.
- *
- * <p>
- *     Implementations include a <code>FieldSet</code> (containing a number
- *     of properties and their actions), and a <code>CollectionLayoutData</code>
- *     (containing a single collection and associated actions)
- * </p>
- */
-public interface MemberRegion<T extends MemberRegionOwner> extends Owned<T> {
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/MemberRegionOwner.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/MemberRegionOwner.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/MemberRegionOwner.java
deleted file mode 100644
index 7bab3ef..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/MemberRegionOwner.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-public interface MemberRegionOwner extends Owner {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/Owned.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/Owned.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/Owned.java
deleted file mode 100644
index c00d795..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/Owned.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-public interface Owned<T extends Owner> {
-    T getOwner();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/Owner.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/Owner.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/Owner.java
deleted file mode 100644
index 239aa32..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/Owner.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-public interface Owner {
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/PropertyLayoutData.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/PropertyLayoutData.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/PropertyLayoutData.java
deleted file mode 100644
index 923833a..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/PropertyLayoutData.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.layout.common;
-
-import java.io.Serializable;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.isis.applib.annotation.LabelPosition;
-import org.apache.isis.applib.annotation.Where;
-
-/**
- * Describes the layout of a single property, broadly corresponds to the {@link org.apache.isis.applib.annotation.PropertyLayout} annotation.
- */
-@XmlRootElement(
-        name = "property"
-)
-@XmlType(
-        name = "property"
-        , propOrder = {
-                "named"
-                , "describedAs"
-                , "actions"
-                , "metadataError"
-        }
-)
-public class PropertyLayoutData
-        implements ActionLayoutDataOwner,
-                   Serializable,
-                   Owned<FieldSet>,
-                   HasCssClass, HasDescribedAs, HasHidden, HasNamed {
-
-    private static final long serialVersionUID = 1L;
-
-    public PropertyLayoutData() {
-    }
-
-    public PropertyLayoutData(final String id) {
-        this.id = id;
-    }
-
-    private String id;
-
-    /**
-     * Property identifier, being the getter method without "get" or "is" prefix, first letter lower cased.
-     */
-    @XmlAttribute(required = true)
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-
-
-    private String cssClass;
-
-    @Override
-    @XmlAttribute(required = false)
-    public String getCssClass() {
-        return cssClass;
-    }
-
-    @Override
-    public void setCssClass(String cssClass) {
-        this.cssClass = cssClass;
-    }
-
-
-    private String describedAs;
-
-    @Override
-    @XmlElement(required = false)
-    public String getDescribedAs() {
-        return describedAs;
-    }
-
-    @Override
-    public void setDescribedAs(String describedAs) {
-        this.describedAs = describedAs;
-    }
-
-
-    private Where hidden;
-
-    @Override
-    @XmlAttribute(required = false)
-    public Where getHidden() {
-        return hidden;
-    }
-
-    @Override
-    public void setHidden(Where hidden) {
-        this.hidden = hidden;
-    }
-
-
-    private LabelPosition labelPosition;
-
-    @XmlAttribute(required = false)
-    public LabelPosition getLabelPosition() {
-        return labelPosition;
-    }
-
-    public void setLabelPosition(LabelPosition labelPosition) {
-        this.labelPosition = labelPosition;
-    }
-
-
-    private Integer multiLine;
-
-    @XmlAttribute(required = false)
-    public Integer getMultiLine() {
-        return multiLine;
-    }
-
-    public void setMultiLine(Integer multiLine) {
-        this.multiLine = multiLine;
-    }
-
-
-    private String named;
-
-    @Override
-    @XmlElement(required = false)
-    public String getNamed() {
-        return named;
-    }
-
-    @Override
-    public void setNamed(String named) {
-        this.named = named;
-    }
-
-
-    private Boolean namedEscaped;
-
-    @Override
-    @XmlAttribute(required = false)
-    public Boolean getNamedEscaped() {
-        return namedEscaped;
-    }
-
-    @Override
-    public void setNamedEscaped(Boolean namedEscaped) {
-        this.namedEscaped = namedEscaped;
-    }
-
-
-    private Boolean renderedAsDayBefore;
-
-    @XmlAttribute(required = false)
-    public Boolean getRenderedAsDayBefore() {
-        return renderedAsDayBefore;
-    }
-
-    public void setRenderedAsDayBefore(Boolean renderedAsDayBefore) {
-        this.renderedAsDayBefore = renderedAsDayBefore;
-    }
-
-
-    private Integer typicalLength;
-
-    @XmlAttribute(required = false)
-    public Integer getTypicalLength() {
-        return typicalLength;
-    }
-
-    public void setTypicalLength(Integer typicalLength) {
-        this.typicalLength = typicalLength;
-    }
-
-
-
-    private List<ActionLayoutData> actions;
-
-    // no wrapper
-    @XmlElement(name = "action", required = false)
-    public List<ActionLayoutData> getActions() {
-        return actions;
-    }
-
-    public void setActions(List<ActionLayoutData> actionLayoutDatas) {
-        this.actions = actionLayoutDatas;
-    }
-
-
-    private FieldSet owner;
-    /**
-     * Owner.
-     *
-     * <p>
-     *     Set programmatically by framework after reading in from XML.
-     * </p>
-     */
-    @XmlTransient
-    public FieldSet getOwner() {
-        return owner;
-    }
-
-    public void setOwner(final FieldSet owner) {
-        this.owner = owner;
-    }
-
-
-
-    private String metadataError;
-
-    /**
-     * For diagnostics; populated by the framework if and only if a metadata error.
-     */
-    @XmlElement(required = false)
-    public String getMetadataError() {
-        return metadataError;
-    }
-
-    public void setMetadataError(final String metadataError) {
-        this.metadataError = metadataError;
-    }
-
-
-    @Override
-    public String toString() {
-        return "PropertyLayoutData{" +
-                "id='" + id + '\'' +
-                '}';
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/common/package-info.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/common/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/layout/common/package-info.java
deleted file mode 100644
index e5e02d9..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/common/package-info.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/**
- * The classes in this package provide layout metadata for a domain object's properties, collections and actions - the
- * &quot;building blocks&quot; which then must be arranged into some sort of layout.
- *
- * <p>
- *     The <code>bootstrap3</code> and <code>fixedcols</code> packages both provide different ways of doing the layout,
- *     and both reference the classes in this package.
- * </p>
- *
- */
-@javax.xml.bind.annotation.XmlSchema(
-        namespace = "http://isis.apache.org/schema/applib/layout/common",
-        elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED
-        // specifying the location seems to cause JaxbService#toXsd() to not generate the schema; not sure why...
-        //, location = ..."http://isis.apache.org/schema/metamodel/layout/common/common.xsd"
-)
-package org.apache.isis.applib.layout.common;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/67b6e05e/core/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutData.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutData.java b/core/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutData.java
new file mode 100644
index 0000000..a88229a
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutData.java
@@ -0,0 +1,253 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.isis.applib.layout.component;
+
+import java.io.Serializable;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.XmlType;
+
+import org.apache.isis.applib.annotation.BookmarkPolicy;
+import org.apache.isis.applib.annotation.Where;
+
+/**
+ * Describes the layout of a single action, broadly corresponding to {@link org.apache.isis.applib.annotation.ActionLayout}.
+ *
+ * <p>
+ *  Note that {@link org.apache.isis.applib.annotation.ActionLayout#contributed()} is omitted because this only applies
+ *  to domain services.
+ * </p>
+ */
+@XmlRootElement(
+        name = "action"
+)
+@XmlType(
+    name = "action"
+    , propOrder = {
+        "named"
+        , "describedAs"
+        , "metadataError"
+    }
+)
+public class ActionLayoutData implements Serializable, Owned<ActionLayoutDataOwner>, HasCssClass, HasCssClassFa,
+        HasDescribedAs, HasHidden, HasNamed, HasBookmarking {
+
+    private static final long serialVersionUID = 1L;
+
+    public ActionLayoutData() {
+    }
+    public ActionLayoutData(final String id) {
+        setId(id);
+    }
+
+    private String id;
+    /**
+     * Method name.
+     *
+     * <p>
+     *     Overloaded methods are not supported.
+     * </p>
+     */
+    @XmlAttribute(name="id", required = true)
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+
+
+    private BookmarkPolicy bookmarking;
+
+    @Override
+    @XmlAttribute(required = false)
+    public BookmarkPolicy getBookmarking() {
+        return bookmarking;
+    }
+
+    @Override
+    public void setBookmarking(BookmarkPolicy bookmarking) {
+        this.bookmarking = bookmarking;
+    }
+
+
+    private String cssClass;
+
+    @Override
+    @XmlAttribute(required = false)
+    public String getCssClass() {
+        return cssClass;
+    }
+
+    @Override
+    public void setCssClass(String cssClass) {
+        this.cssClass = cssClass;
+    }
+
+
+    private String cssClassFa;
+
+    @Override
+    @XmlAttribute(required = false)
+    public String getCssClassFa() {
+        return cssClassFa;
+    }
+
+    @Override
+    public void setCssClassFa(String cssClassFa) {
+        this.cssClassFa = cssClassFa;
+    }
+
+
+
+    private org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition cssClassFaPosition;
+
+    @Override
+    @XmlAttribute(required = false)
+    public org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition getCssClassFaPosition() {
+        return cssClassFaPosition;
+    }
+
+    @Override
+    public void setCssClassFaPosition(org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition cssClassFaPosition) {
+        this.cssClassFaPosition = cssClassFaPosition;
+    }
+
+
+    private String describedAs;
+
+    @Override
+    @XmlElement(required = false)
+    public String getDescribedAs() {
+        return describedAs;
+    }
+
+    @Override
+    public void setDescribedAs(String describedAs) {
+        this.describedAs = describedAs;
+    }
+
+
+
+    private Where hidden;
+
+    @Override
+    @XmlAttribute(required = false)
+    public Where getHidden() {
+        return hidden;
+    }
+
+    @Override
+    public void setHidden(Where hidden) {
+        this.hidden = hidden;
+    }
+
+
+
+    private String named;
+
+    @Override
+    @XmlElement(required = false)
+    public String getNamed() {
+        return named;
+    }
+
+    @Override
+    public void setNamed(String named) {
+        this.named = named;
+    }
+
+
+
+    private Boolean namedEscaped;
+
+    @Override
+    @XmlAttribute(required = false)
+    public Boolean getNamedEscaped() {
+        return namedEscaped;
+    }
+
+    @Override
+    public void setNamedEscaped(Boolean namedEscaped) {
+        this.namedEscaped = namedEscaped;
+    }
+
+
+
+    private org.apache.isis.applib.annotation.ActionLayout.Position position;
+
+    @XmlAttribute(required = false)
+    public org.apache.isis.applib.annotation.ActionLayout.Position getPosition() {
+        return position;
+    }
+
+    public void setPosition(org.apache.isis.applib.annotation.ActionLayout.Position position) {
+        this.position = position;
+    }
+
+
+
+
+    private ActionLayoutDataOwner owner;
+    /**
+     * Owner.
+     *
+     * <p>
+     *     Set programmatically by framework after reading in from XML.
+     * </p>
+     */
+    @XmlTransient
+    public ActionLayoutDataOwner getOwner() {
+        return owner;
+    }
+
+    public void setOwner(final ActionLayoutDataOwner owner) {
+        this.owner = owner;
+    }
+
+
+    private String metadataError;
+
+    /**
+     * For diagnostics; populated by the framework if and only if a metadata error.
+     */
+    @XmlElement(required = false)
+    public String getMetadataError() {
+        return metadataError;
+    }
+
+    public void setMetadataError(final String metadataError) {
+        this.metadataError = metadataError;
+    }
+
+
+
+    @Override public String toString() {
+        return "ActionLayoutData{" +
+                "id='" + id + '\'' +
+                '}';
+    }
+
+
+}