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 2012/12/06 11:10:33 UTC

[5/51] [partial] ISIS-188: moving modules into core

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java b/framework/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
deleted file mode 100644
index bc73e02..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
+++ /dev/null
@@ -1,122 +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.adapters;
-
-import org.apache.isis.applib.annotation.TypicalLength;
-import org.apache.isis.applib.profiles.Localization;
-
-/**
- * Provides a mechanism for parsing and rendering string representations of
- * objects.
- * 
- * <p>
- * Specifically, this interface embodies three related capabilties:
- * <ul>
- * <li>to parse a string representation and convert to an object.
- * <li>to provide a string representation of the object, for use as its title.
- * <li>to indicate the typical length of such a string representation.
- * </ul>
- * 
- * <p>
- * For custom-written (as opposed to third-party) value types, the ability for
- * the {@link Parser} to provide a title responsibilities overlap with other
- * conventions for domain objects. Specifically, normally we write a
- * <tt>title()</tt> method to return a title. In such cases a typical
- * implementation of {@link Parser} would just delegate to the value type itself
- * to obtain the title (ie invoking the <tt>title()</tt> method directly rather
- * than having the framework do this).
- * 
- * <p>
- * Similarly, the ability to return a typical length also overlaps with the
- * {@link TypicalLength} annotation; which is why {@link TypicalLength} cannot
- * be applied to types, only to properties and parameters.
- * 
- * <p>
- * For third-party value types, eg {@link http://timeandmoney.sourceforge.net/
- * Time-and-Money} there is no ability to write <tt>title()</tt> methods or
- * annotated with {@link TypicalLength}; so this is the main reason that this
- * interface has to deal with titles and lengths.
- * 
- * <p>
- * This interface is used in two complementary ways:
- * <ul>
- * <li>As one option, it allows objects to take control of their own parsing, by
- * implementing directly. However, the instance is used as a factory for itself.
- * The framework will instantiate an instance, invoke the appropriate method
- * method, and use the returned object. The instantiated instance itself will be
- * discarded.</li>
- * <li>Alternatively, an implementor of this interface can be nominated in the
- * {@link org.apache.isis.applib.annotation.Parseable} annotation, allowing a
- * class that needs to be parseable to indicate how it can be parsed.</li>
- * 
- * <p>
- * Whatever the class that implements this interface, it must also expose either
- * a <tt>public</tt> no-arg constructor, or (for implementations that also are
- * <tt>Facet</tt>s) a <tt>public</tt> constructor that accepts a single
- * <tt>FacetHolder</tt>. This constructor allows the framework to instantiate
- * the object reflectively.
- * 
- * @see DefaultsProvider
- * @see EncoderDecoder
- * @see ValueSemanticsProvider
- */
-public interface Parser<T> {
-
-    /**
-     * Parses a string to an instance of the object.
-     * 
-     * <p>
-     * Note that here the implementing class is acting as a factory for itself.
-     * @param localization TODO
-     * @param context
-     *            - the context domain object for which the text is being
-     *            parsed. For example +3 might mean add 3 to the current number.
-     */
-    T parseTextEntry(Object contextPojo, String entry, Localization localization);
-
-    /**
-     * The typical length of objects that can be parsed.
-     */
-    int typicalLength();
-
-    /**
-     * The title of the object.
-     */
-    String displayTitleOf(T object, Localization localization);
-
-    /**
-     * The title of the object using a mask.
-     */
-    String displayTitleOf(T object, String usingMask);
-
-    /**
-     * A title for the object that is valid but which may be easier to edit than
-     * the title provided by a
-     * {@link org.apache.isis.metamodel.facets.object.ident.TitleFacet}.
-     * 
-     * <p>
-     * The idea here is that the viewer can display a parseable title for an
-     * existing object when, for example, the user initially clicks in the
-     * field. So, a date might be rendered via a {@link TitleFacet} as
-     * <tt>May 2, 2007</tt>, but its editable form might be <tt>20070502</tt>.
-     */
-    String parseableTitleOf(T existing);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/adapters/ParsingException.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/adapters/ParsingException.java b/framework/applib/src/main/java/org/apache/isis/applib/adapters/ParsingException.java
deleted file mode 100644
index a219eaf..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/adapters/ParsingException.java
+++ /dev/null
@@ -1,45 +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.adapters;
-
-/**
- * Indicates that parsing has failed, ie the entry is illegal (rather than
- * invalid).
- */
-public class ParsingException extends RuntimeException {
-    private static final long serialVersionUID = 1L;
-
-    public ParsingException() {
-        super();
-    }
-
-    public ParsingException(final String msg) {
-        super(msg);
-    }
-
-    public ParsingException(final String msg, final Throwable cause) {
-        super(msg, cause);
-    }
-
-    public ParsingException(final Throwable cause) {
-        super(cause);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/adapters/ValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/adapters/ValueSemanticsProvider.java b/framework/applib/src/main/java/org/apache/isis/applib/adapters/ValueSemanticsProvider.java
deleted file mode 100644
index c062cba..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/adapters/ValueSemanticsProvider.java
+++ /dev/null
@@ -1,100 +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.adapters;
-
-import java.math.BigDecimal;
-
-import org.apache.isis.applib.annotation.Aggregated;
-import org.apache.isis.applib.annotation.Defaulted;
-import org.apache.isis.applib.annotation.Encodable;
-import org.apache.isis.applib.annotation.EqualByContent;
-import org.apache.isis.applib.annotation.Immutable;
-import org.apache.isis.applib.annotation.Parseable;
-import org.apache.isis.applib.annotation.Value;
-
-/**
- * Provides a mechanism for providing a set of value semantics.
- * 
- * <p>
- * As explained in the Javadoc of the {@link Value} annotation, value semantics
- * only actually implies that the type is {@link Aggregated aggregated}.
- * However, values are very often also {@link Parseable}, {@link Encodable},
- * {@link Immutable} and implement {@link EqualByContent} semantics. In
- * addition, there may be a {@link Defaulted default value}.
- * 
- * <p>
- * This interface is used by {@link Value} to allow these semantics to be
- * provided through a single point. Alternatively, {@link Value} supports this
- * information being provided via the configuration files.
- * 
- * <p>
- * Whatever the class that implements this interface, it must also expose either
- * a <tt>public</tt> no-arg constructor, or (for implementations that also are
- * <tt>Facet</tt>s) a <tt>public</tt> constructor that accepts a
- * <tt>FacetHolder</tt>, and <tt>IsisConfiguration</tt> and a
- * <tt>ValueSemanticsProviderContext</tt>. This constructor is then used by the
- * framework to instantiate the object reflectively.
- * 
- * @see Parser
- * @see EncoderDecoder
- * @see DefaultsProvider
- */
-public interface ValueSemanticsProvider<T> {
-
-    /**
-     * The {@link Parser}, if any.
-     * 
-     * <p>
-     * If not <tt>null</tt>, implies that the value is {@link Parseable}.
-     */
-    Parser<T> getParser();
-
-    /**
-     * The {@link EncoderDecoder}, if any.
-     * 
-     * <p>
-     * If not <tt>null</tt>, implies that the value is {@link Encodable}.
-     */
-    EncoderDecoder<T> getEncoderDecoder();
-
-    /**
-     * The {@link DefaultsProvider}, if any.
-     * 
-     * <p>
-     * If not <tt>null</tt>, implies that the value has (or may have) a default.
-     */
-    DefaultsProvider<T> getDefaultsProvider();
-
-    /**
-     * Whether the value is {@link Immutable}.
-     */
-    boolean isImmutable();
-
-    /**
-     * Whether the value has {@link EqualByContent equal by content} semantics.
-     * 
-     * <p>
-     * If so, then it must implement <tt>equals(Object)</tt> and
-     * <tt>hashCode()</tt> consistently. Examples in the Java language that do
-     * this are {@link String} and {@link BigDecimal}, for example.
-     */
-    boolean isEqualByContent();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/adapters/package-info.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/adapters/package-info.java b/framework/applib/src/main/java/org/apache/isis/applib/adapters/package-info.java
deleted file mode 100644
index 0dc1b87..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/adapters/package-info.java
+++ /dev/null
@@ -1,37 +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 are used for implementing custom value types.  
- * 
- * <p>
- * The {@link org.apache.isis.applib.adapters.ValueSemanticsProvider} interface
- * allows the framework to recognize its corresponding type as being a value
- * type (that is, having value semantics).  The {@link org.apache.isis.applib.adapters.AbstractValueSemanticsProvider}
- * class is an base adapter for this interface. 
- * 
- * <p>
- * The association between {@link org.apache.isis.applib.adapters.ValueSemanticsProvider}
- * and its corresponding type can be done in several ways.  Most straightforward
- * is to annotate the class with the {@link org.apache.isis.applib.annotation.Value}
- * annotation.  However, if the value type source code cannot be modified (for
- * example, if it is a third-party type such as joda-time), then the association
- * can be made using configuration properties. 
- */
-package org.apache.isis.applib.adapters;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/ActionOrder.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/ActionOrder.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/ActionOrder.java
deleted file mode 100644
index 534a9a1..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/ActionOrder.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.
- */
-
-package org.apache.isis.applib.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates the order that actions should be grouped/displayed in.
- */
-@Inherited
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface ActionOrder {
-    String value();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/ActionSemantics.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/ActionSemantics.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/ActionSemantics.java
deleted file mode 100644
index e27d8c3..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/ActionSemantics.java
+++ /dev/null
@@ -1,82 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.isis.applib.util.Enums;
-
-/**
- * Indicates that an instance cannot be persisted by a user, but only
- * programmatically.
- */
-@Inherited
-@Target({ ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface ActionSemantics {
-
-    public enum Of {
-        /**
-         * Safe, with no side-effects.
-         * 
-         * <p>
-         * In other words, a query-only action.  By definition, is also idempotent.
-         */
-        SAFE, 
-        /**
-         * Post-conditions are always the same, irrespective as to how many times called.
-         * 
-         * <p>
-         * An example might be <tt>placeOrder()</tt>, that is a no-op if the order has already been placed. 
-         */
-        IDEMPOTENT,
-        /**
-         * Neither safe nor idempotent; every invocation is likely to change the state of the object.
-         * 
-         * <p>
-         * An example is increasing the quantity of a line item in an Order by 1.
-         */
-        NON_IDEMPOTENT;
-        
-        public String getFriendlyName() {
-            return Enums.getFriendlyNameOf(this);
-        }
-
-        public String getCamelCaseName() {
-            return Enums.enumToCamelCase(this);
-        }
-
-        /**
-         * {@link #SAFE} is idempotent in nature, as well as, obviously, {@link #IDEMPOTENT}.
-         */
-        public boolean isIdempotentInNature() {
-            return this == SAFE || this == IDEMPOTENT;
-        }
-
-
-    }
-
-    Of value() default Of.NON_IDEMPOTENT;
-    
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Aggregated.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Aggregated.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Aggregated.java
deleted file mode 100644
index 2afdad3..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Aggregated.java
+++ /dev/null
@@ -1,44 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that every instance of this type is part of 
- * (aggregated within) a larger aggregate.
- * 
- * <p>
- * This is/should be interpreted by viewers as meaning that references to the
- * object may not be shared between instances. So for example in the DnD viewer
- * an aggregated object may not be drag/dropped into an empty &quot;slot&quot;.
- * Instead, the user would need to use copy/paste.
- * 
- * @see Value
- */
-@Inherited
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Aggregated {
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/AutoComplete.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/AutoComplete.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/AutoComplete.java
deleted file mode 100644
index 5115e75..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/AutoComplete.java
+++ /dev/null
@@ -1,78 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.isis.applib.bookmarks.Bookmark;
-
-/**
- * Specifies a repository action to use to support auto-complete.
- */
-@Inherited
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface AutoComplete {
-
-    /**
-     * A candidate match for the auto-complete.
-     * 
-     * <p>
-     * The auto-complete action is required to return a list of these instances.
-     * The title can be used by the viewer in the drop down, while the
-     * {@link #getBookmark()} identifies the object.
-     */
-    public static class Candidate {
-        private final String title;
-        private final Bookmark bookmark;
-        public Candidate(String title, Bookmark bookmark) {
-            this.title = title;
-            this.bookmark = bookmark;
-        }
-        public String getTitle() {
-            return title;
-        }
-        public Bookmark getBookmark() {
-            return bookmark;
-        }
-    }
-    
-    /**
-     * The class of the repository to use.
-     * 
-     * <p>
-     * It is sufficient to specify an interface rather than a concrete type.
-     */
-    Class<?> repository();
-    
-    /**
-     * The action to use in order to perform the auto-complete search
-     * (defaults to &quot;autoComplete&quot;).
-     * 
-     * <p>
-     * The action is required to accept a single string parameter, and must return
-     * 
-     */
-    String action() default "autoComplete";
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Bounded.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Bounded.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Bounded.java
deleted file mode 100644
index 4ee5034..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Bounded.java
+++ /dev/null
@@ -1,35 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that the class has a bounded, or finite, set of instances.
- */
-@Inherited
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Bounded {
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Debug.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Debug.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Debug.java
deleted file mode 100644
index ca15538..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Debug.java
+++ /dev/null
@@ -1,35 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates the an action should be only available for debugging.
- */
-@Inherited
-@Target({ ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Debug {
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java
deleted file mode 100644
index 2c0b266..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java
+++ /dev/null
@@ -1,78 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.isis.applib.adapters.DefaultsProvider;
-
-/**
- * Indicates that the class should have a default, by providing a link to a
- * {@link DefaultsProvider}, or some externally-configured mechanism.
- * 
- * <p>
- * This possibly seems a little tortuous. The more obvious means to provide a
- * default would seem to be a simple <tt>@DefaultsTo(new SomeObject())</tt>.
- * However, Java only allows primitives, strings and class literals to be used
- * in annotations. We therefore need delegate to an external implementation.
- * (This more complex design is also more flexible of course; the implementation
- * of {@link DefaultsProvider} could adjust the default it provides according to
- * circumstance, for example).
- * 
- * @see Encodable
- * @see Parseable
- * @see Value
- */
-@Inherited
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Defaulted {
-
-    /**
-     * The fully qualified name of a class that implements the
-     * {@link DefaultsProvider} interface.
-     * 
-     * <p>
-     * This is optional because some implementations may pick up the defaults
-     * provider via a configuration file, or via the equivalent
-     * {@link #defaultsProviderClass()}.
-     * 
-     * <p>
-     * Implementation note: the default value provided here is simply an empty
-     * string because <tt>null</tt> is not a valid default.
-     */
-    String defaultsProviderName() default "";
-
-    /**
-     * As per {@link #defaultsProviderName()}, but specifying a class literal
-     * rather than a fully qualified class name.
-     * 
-     * <p>
-     * Implementation note: the default value provided here is simply the
-     * {@link Defaulted}'s own class, because <tt>null</tt> is not a valid
-     * default.
-     */
-    Class<?> defaultsProviderClass() default Defaulted.class;
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/DescribedAs.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/DescribedAs.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/DescribedAs.java
deleted file mode 100644
index a3414be..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/DescribedAs.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.
- */
-
-package org.apache.isis.applib.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Description of a property/action.
- */
-@Inherited
-@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface DescribedAs {
-    String value();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Disabled.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Disabled.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Disabled.java
deleted file mode 100644
index 36cc7c5..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Disabled.java
+++ /dev/null
@@ -1,37 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that a property/action is to be always unavailable to the user.
- */
-@Inherited
-@Target({ ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Disabled {
-    When when() default When.ALWAYS;
-    Where where() default Where.ANYWHERE;
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Encodable.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Encodable.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Encodable.java
deleted file mode 100644
index c641f37..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Encodable.java
+++ /dev/null
@@ -1,78 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.isis.applib.adapters.EncoderDecoder;
-
-/**
- * Indicates that the class can be encoded or decoded either by delegating to an
- * {@link EncoderDecoder} or through some externally-configured mechanism.
- * 
- * @see Defaulted
- * @see Parseable
- * @see Value
- */
-@Inherited
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Encodable {
-
-    /**
-     * The fully qualified name of a class that implements the
-     * {@link EncoderDecoder} interface.
-     * 
-     * <p>
-     * This is optional because some implementations may pick up encodeability
-     * via a configuration file, or via the equivalent
-     * {@link #encoderDecoderClass()}.
-     * 
-     * <p>
-     * It is common for value classes to act as their own encoder/decoders. Note
-     * that the framework requires that the nominated class provides a
-     * <tt>public</tt> no-arg constructor on the class. It instantiates an
-     * instance in order to do the encoding or decoding, uses the result and
-     * discards the instantiated object. What that means in particular is that a
-     * self-encoding class shouldn't encode its own state, it should encode the
-     * state of the object passed to it.
-     * 
-     * <p>
-     * Implementation note: the default value provided here is simply an empty
-     * string because <tt>null</tt> is not a valid default.
-     */
-    String encoderDecoderName() default "";
-
-    /**
-     * As per {@link #encoderDecoderName()}, but specifying a class literal
-     * rather than a fully qualified class name.
-     * 
-     * <p>
-     * Implementation note: the default value provided here is simply the
-     * {@link Encodable}'s own class, because <tt>null</tt> is not a valid
-     * default.
-     */
-    Class<?> encoderDecoderClass() default Encodable.class;
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/EqualByContent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/EqualByContent.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/EqualByContent.java
deleted file mode 100644
index 7d87a90..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/EqualByContent.java
+++ /dev/null
@@ -1,62 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.HashMap;
-
-/**
- * Indicates that the class follows the equal-by-content contract, usually
- * associated with {@link Value value} types.
- * 
- * <p>
- * If a class claims to be equal-by-content then its {@link #equals(Object)}
- * should return <tt>true</tt> if its content (as opposed to identity) is the
- * same. For example, {@link String}, {@link BigDecimal} and {@link Date} follow
- * this contract.
- * 
- * <p>
- * Note also that the Java Language Specification requires that two objects that
- * are {@link #equals(Object) equal} must return the same value from
- * {@link #hashCode()}. Failure to do this means that that the object will not
- * behave correctly when used as a key into a hashing structure (eg a
- * {@link HashMap}).
- * 
- * <p>
- * By default any {@link Value value} types are assumed to follow the
- * equal-by-content rule, though this can be overridden if required. Value types
- * are usually also {@link Immutable immutable} (though there are some classic
- * exceptions to this, such as {@link Date}).
- * 
- * @see Immutable
- * @see Value
- */
-@Inherited
-@Target({ ElementType.TYPE, ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface EqualByContent {
-    When value() default When.ALWAYS;
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Exploration.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Exploration.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Exploration.java
deleted file mode 100644
index cddb41f..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Exploration.java
+++ /dev/null
@@ -1,35 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates the an action should be only available in exploration mode
- */
-@Inherited
-@Target({ ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Exploration {
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Facets.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Facets.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Facets.java
deleted file mode 100644
index 4d88389..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Facets.java
+++ /dev/null
@@ -1,60 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that the class has additional facets, and specifies the how to
- * obtain the <tt>FacetFactory</tt> to manufacture them.
- * 
- * <p>
- * At least one named factory (as per {@link #facetFactoryNames()}) or one class
- * factory (as per {@link #facetFactoryClasses()}) should be specified.
- */
-@Inherited
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Facets {
-    /**
-     * Array of fully qualified names of classes each implementing
-     * <tt>org.apache.isis.metamodel.facets.FacetFactory</tt>.
-     * 
-     * <p>
-     * Either the array provided by this method or by
-     * {@link #facetFactoryClasses()} should be non-empty.
-     */
-    String[] facetFactoryNames() default {};
-
-    /**
-     * Array of {@link Class}s, each indicating a class implementing
-     * <tt>org.apache.isis.metamodel.facets.FacetFactory</tt>.
-     * 
-     * <p>
-     * Either the array provided by this method or by
-     * {@link #facetFactoryNames()} should be non-empty.
-     */
-    Class<?>[] facetFactoryClasses() default {};
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/FieldOrder.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/FieldOrder.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/FieldOrder.java
deleted file mode 100644
index f2b3494..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/FieldOrder.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.
- */
-
-package org.apache.isis.applib.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates the order that properties should be displayed in.
- */
-@Inherited
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface FieldOrder {
-    String value();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Hidden.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Hidden.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Hidden.java
deleted file mode 100644
index caccc94..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Hidden.java
+++ /dev/null
@@ -1,42 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that a property, collection or action is to be hidden from the
- * user.
- * 
- * <p>
- * For a repository action, is equivalent to {@link NotContributed} and also
- * {@link NotInServiceMenu}.
- */
-@Inherited
-@Target({ ElementType.TYPE, ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Hidden {
-    When when() default When.ALWAYS;
-    Where where() default Where.ANYWHERE;
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Idempotent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Idempotent.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Idempotent.java
deleted file mode 100644
index c79bdbb..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Idempotent.java
+++ /dev/null
@@ -1,45 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that an action is idempotent; invoking may modify domain object
- * state, but invoking it once more will not make further changes (meaning that
- * it is safe to invoke multiple times).
- * 
- * <p>
- * More formally, the post-conditions of the action are guaranteed to be the
- * same whether called once or more than once.
- * 
- * <p>
- * Deprecated - use <tt>@ActionSemantics(Of.IDEMPOTENT)</tt> instead.
- */
-@Deprecated
-@Inherited
-@Target({ ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Idempotent {
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Ignore.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Ignore.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Ignore.java
deleted file mode 100644
index c273d2d..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Ignore.java
+++ /dev/null
@@ -1,46 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that an property, collection or action should be ignored from the
- * metamodel.
- * 
- * <p>
- * Use of this annotation is discouraged because of the nameclash with
- * <tt>org.junit.Ignore</tt>.
- * 
- * Instead, use {@link Programmatic}, which is functionally identical.
- * 
- * @see Programmatic
- */
-@Deprecated
-@Inherited
-@Target({ ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Ignore {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Immutable.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Immutable.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Immutable.java
deleted file mode 100644
index c892fa2..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Immutable.java
+++ /dev/null
@@ -1,50 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that an instance cannot be changed.
- * 
- * <p>
- * To make something always immutable used the form <tt>@Immutable</tt>. To make
- * something immutable only once persisted use the form
- * <tt>@Immutable(Immutable.ONCE_PERSISTED)</tt>.
- * 
- * <p>
- * By default any {@link Value value} types are assumed to be immutable, though
- * this can be overridden if required. Immutable objects that are acting as a
- * value type should almost certainly also follow the {@link EqualByContent
- * equal-by-content} contract.
- * 
- * @see Value
- * @see EqualByContent
- */
-@Inherited
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Immutable {
-    When value() default When.ALWAYS;
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Mask.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Mask.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Mask.java
deleted file mode 100644
index 1c48af3..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Mask.java
+++ /dev/null
@@ -1,200 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Provides a mask that a value entry should conform to
- * 
- * A mask to apply to string attributes.
- * 
- * <p>
- * The characters that can be used are shown in the following table (adapted
- * from masks used by Swing's MaskFormatter, Java's SimpleDateFormat and also
- * Microsoft's MaskedEdit control):
- * 
- * <table border='2'>
- * <tr>
- * <th align='center'>Character</th>
- * <th align='center'>Description</th>
- * <th align='center'>Source</th>
- * </tr>
- * <tr>
- * <td align='center'>#</td>
- * <td align='left'>Digit placeholder.</td>
- * <td align='left'>MS, Swing</td>
- * </tr>
- * <tr>
- * <td align='center'>.</td>
- * <td align='left'>Decimal placeholder. The actual character used is the one
- * specified as the decimal placeholder in your international settings. This
- * character is treated as a literal for masking purposes.</td>
- * <td align='left'>MS</td>
- * </tr>
- * <tr>
- * <td align='center'>,</td>
- * <td align='left'>Thousands separator. The actual character used is the one
- * specified as the thousands separator in your international settings. This
- * character is treated as a literal for masking purposes.</td>
- * <td align='left'>MS</td>
- * </tr>
- * <tr>
- * <td align='center'>:</td>
- * <td align='left'>Time separator. This character is treated as a literal for
- * masking purposes.</td>
- * <td align='left'>MS</td>
- * </tr>
- * <tr>
- * <td align='center'>/</td>
- * <td align='left'>Date separator. This character is treated as a literal for
- * masking purposes.</td>
- * <td align='left'>MS</td>
- * </tr>
- * <tr>
- * <td align='center'>&amp;</td>
- * <td align='left'>Character placeholder. Valid values for this placeholder are
- * ANSI characters in the following ranges: 32-126 and 128-255.</td>
- * <td align='left'>MS</td>
- * </tr>
- * 
- * <tr>
- * <td align='center'>A</td>
- * <td align='left'>Alphanumeric character placeholder (
- * <code>Character.isLetter</code> or <code>Character.isDigit</code>), with
- * entry required. For example: a ~ z, A ~ Z, or 0 ~ 9.</td>
- * <td align='left'>MS</td>
- * </tr>
- * 
- * <tr>
- * <td align='center'>a</td>
- * <td align='left'>Alphanumeric character placeholder (entry optional).</td>
- * <td align='left'>MS</td>
- * </tr>
- * <tr>
- * <td align='center'>9</td>
- * <td align='left'>Digit placeholder (entry optional). For example: 0 ~ 9.</td>
- * <td align='left'>MS</td>
- * </tr>
- * <tr>
- * <td align='center'>?</td>
- * <td align='left'>Letter placeholder (<code>Character.isLetter</code>). For
- * example: a ~ z or A ~ Z.</td>
- * <td align='left'>MS, Swing</td>
- * </tr>
- * <tr>
- * <td align='center'>U</td>
- * <td align='left'>Any character (<code>Character.isLetter</code>). All
- * lowercase letters are mapped to upper case.</td>
- * <td align='left'>Swing</td>
- * </tr>
- * <tr>
- * <td align='center'>L</td>
- * <td align='left'>Any character (<code>Character.isLetter</code>). All
- * lowercase letters are mapped to lower case.</td>
- * <td align='left'>Swing</td>
- * </tr>
- * <tr>
- * <td align='center'>Literal</td>
- * <td align='left'>All other symbols are displayed as literals; that is, as
- * themselves.</td>
- * <td align='left'>MS</td>
- * </tr>
- * </table>
- * 
- * <p>
- * Can also be specified for types that are annotated as <tt>@Value</tt> types.
- * To apply, the value must have string semantics.
- * 
- * <p>
- * Not yet implemented:
- * <table border='2'>
- * <tr>
- * <th align='center'>Character</th>
- * <th align='center'>Description</th>
- * <th align='center'>Source</th>
- * </tr>
- * <tr>
- * <td align='center'>\ or '</td>
- * <td align='left'>Treat the next character in the mask string as a literal.
- * This allows you to include the '#', '&', 'A', and '?' characters in the mask.
- * This character is treated as a literal for masking purposes.</td>
- * <td align='left'>MS (\), Swing (')</td>
- * </tr>
- * <tr>
- * <td align='center'>H</td>
- * <td align='left'>Character.isLetter or Character.isDigit.</td>
- * <td align='left'>Swing</td>
- * </tr>
- * <tr>
- * <td align='center'>yy or yyyy</td>
- * <td align='left'>Year, eg 1996; 96.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>MM</td>
- * <td align='left'>Two digit representation of month, eg 07 for July.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>MMM</td>
- * <td align='left'>Three character representation of month, eg <i>Jul</i> for
- * July.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>d</td>
- * <td align='left'>Day in month, eg 3 or 28.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>dd</td>
- * <td align='left'>Two digit representation of day in month, eg 03 or 28.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>HH</td>
- * <td align='left'>Two digit representation of hour in day (24 hour clock), eg
- * 05 or 19.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>mm</td>
- * <td align='left'>Minute in hour, eg 02 or 47.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>ss</td>
- * <td align='left'>Second in minute in hour, eg 08 or 35.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * </table>
- * 
- */
-@Inherited
-@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Mask {
-    String value();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/MaxLength.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/MaxLength.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/MaxLength.java
deleted file mode 100644
index 35626b7..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/MaxLength.java
+++ /dev/null
@@ -1,40 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * The maximum entry length of a field.
- * 
- * <p>
- * Can also be specified for types that are annotated as <tt>@Value</tt> types.
- * To apply, the value must have string semantics.
- */
-@Inherited
-@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface MaxLength {
-    int value();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/MemberGroups.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/MemberGroups.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/MemberGroups.java
deleted file mode 100644
index 9aed671..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/MemberGroups.java
+++ /dev/null
@@ -1,51 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that the class has additional facets, and specifies the how to
- * obtain the <tt>FacetFactory</tt> to manufacture them.
- * 
- * <p>
- * At least one named factory (as per {@link #facetFactoryNames()}) or one class
- * factory (as per {@link #facetFactoryClasses()}) should be specified.
- */
-@Inherited
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface MemberGroups {
-
-    /**
-     * Array of group names, as they appear as names in the {@link MemberOrder} annotation.
-     * 
-     * <p>
-     * The order in this list determines the order that the groups will be rendered.  By convention
-     * any {@link MemberOrder} that does not have a {@link MemberOrder#name() name} is considered
-     * to be in the default group, whose name is hard-coded as <i>General</i>.
-     */
-    String[] value() default {};
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/MemberOrder.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/MemberOrder.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/MemberOrder.java
deleted file mode 100644
index 3164278..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/MemberOrder.java
+++ /dev/null
@@ -1,45 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates the position a method should be placed in.
- */
-@Inherited
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface MemberOrder {
-
-    /**
-     * Number in Dewey Decimal format representing the order.
-     */
-    String sequence();
-
-    /**
-     * Name of the group this set should be known as.
-     */
-    String name() default "";
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/MultiLine.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/MultiLine.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/MultiLine.java
deleted file mode 100644
index 008ba4b..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/MultiLine.java
+++ /dev/null
@@ -1,53 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that a string property may have more than one line (ie may contain
- * carriage returns).
- * 
- * <p>
- * In addition you can specify the typical number of lines (defaults to 6) and
- * whether the lines should not be wrapped (by default they will not be
- * wrapped).
- * 
- * <p>
- * Can also be specified for types that are annotated as <tt>@Value</tt> types.
- * To apply, the value must have string semantics.
- * 
- * <p>
- * Note that if this annotation is applied, then any choices for the property
- * (ie as per a <tt>choicesXxx</tt> method) will be ignored.
- */
-@Inherited
-@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface MultiLine {
-
-    int numberOfLines() default 6;
-
-    boolean preventWrapping() default true;
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/MustSatisfy.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/MustSatisfy.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/MustSatisfy.java
deleted file mode 100644
index c139c3b..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/MustSatisfy.java
+++ /dev/null
@@ -1,45 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.isis.applib.spec.Specification;
-
-/**
- * 
- */
-@Inherited
-@Target({ ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface MustSatisfy {
-    /**
-     * The {@link Specification}(s) to be satisfied.
-     * 
-     * <p>
-     * If more than one is provided, then all must be satisfied (in effect
-     * &quot;AND&quot;ed together).
-     */
-    Class<? extends Specification>[] value();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/Named.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Named.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/Named.java
deleted file mode 100644
index b1d3a02..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/Named.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.
- */
-
-package org.apache.isis.applib.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates the name that a property/action should be been known by.
- */
-@Inherited
-@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Named {
-    String value();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotContributed.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotContributed.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotContributed.java
deleted file mode 100644
index b809565..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotContributed.java
+++ /dev/null
@@ -1,43 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates the a (repository) action should be not be contributed.
- * 
- * <p>
- * It may still be appear in the repository menu (unless it has been annotated
- * as {@link NotInServiceMenu}). If {@link Hidden}, then also implies that the
- * menu should not be contributed.
- * 
- * <p>
- * Has no meanings for actions on regular entities.
- */
-@Inherited
-@Target({ ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface NotContributed {
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotInServiceMenu.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotInServiceMenu.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotInServiceMenu.java
deleted file mode 100644
index 2bcece5..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotInServiceMenu.java
+++ /dev/null
@@ -1,44 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates the a (service) action should be not be displayed in the service
- * menu.
- * 
- * <p>
- * It may still be contributed (unless it has been annotated as
- * {@link NotContributed}). If {@link Hidden}, then also implies that the menu
- * should not appear in the service menu.
- * 
- * <p>
- * Has no meanings for actions on regular entities.
- */
-@Inherited
-@Target({ ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface NotInServiceMenu {
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotPersistable.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotPersistable.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotPersistable.java
deleted file mode 100644
index 7bd25dc..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotPersistable.java
+++ /dev/null
@@ -1,61 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.isis.applib.marker.NonPersistable;
-import org.apache.isis.applib.marker.ProgramPersistable;
-import org.apache.isis.applib.util.Enums;
-
-/**
- * Indicates that an instance cannot be persisted by a user, but only
- * programmatically.
- */
-@Inherited
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface NotPersistable {
-
-    public enum By {
-        USER, 
-        USER_OR_PROGRAM;
-        
-        public static By lookupForMarkerInterface(final Class<?> cls) {
-            if (ProgramPersistable.class.isAssignableFrom(cls)) {
-                return USER;
-            } else if (NonPersistable.class.isAssignableFrom(cls)) {
-                return USER_OR_PROGRAM;
-            }
-            return null;
-        }
-        
-        public String getFriendlyName() {
-            return Enums.getFriendlyNameOf(this);
-        }
-    }
-
-    By value() default By.USER_OR_PROGRAM;
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotPersisted.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotPersisted.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotPersisted.java
deleted file mode 100644
index 33a7a11..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/NotPersisted.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.
- */
-
-package org.apache.isis.applib.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that a property should not be persisted.
- */
-@Inherited
-@Target({ ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface NotPersisted {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/annotation/ObjectType.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/annotation/ObjectType.java b/framework/applib/src/main/java/org/apache/isis/applib/annotation/ObjectType.java
deleted file mode 100644
index 793c315..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/annotation/ObjectType.java
+++ /dev/null
@@ -1,40 +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.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Provides a unique abbreviation for the object type, eg &quot;CUS&quot; for Customer.
- * 
- * <p>
- * This value, if specified, is used in the serialized form of the object's OID.  An OID is
- * used by the framework to unique identify an object over time (same concept as a URN). 
- */
-@Inherited
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface ObjectType {
-    String value();
-}