summaryrefslogtreecommitdiffstats
path: root/tck/org/atinject/tck/auto/accessories/SpareTire.java
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2016-03-24 14:26:27 -0700
committerIgor Murashkin <iam@google.com>2016-03-24 14:26:34 -0700
commit74d7e4ee09ca3eff1c80df535f398b4561043c1f (patch)
tree70d5afae0bd672bba9654e64853f73348c8dfe0a /tck/org/atinject/tck/auto/accessories/SpareTire.java
parentab59cd2330b788a4e2b2dbcd9701dd2c3a49955f (diff)
parent120d55ed85ca460ab29241916bf23743f6bc65da (diff)
downloadplatform_external_jsr330-74d7e4ee09ca3eff1c80df535f398b4561043c1f.tar.gz
platform_external_jsr330-74d7e4ee09ca3eff1c80df535f398b4561043c1f.tar.bz2
platform_external_jsr330-74d7e4ee09ca3eff1c80df535f398b4561043c1f.zip
Merge remote-tracking branch 'goog/master' into nyc-dev
Bug: 27552463 Change-Id: Ib32111bd227168159f9255ffcb46ece02a8d9b64
Diffstat (limited to 'tck/org/atinject/tck/auto/accessories/SpareTire.java')
-rw-r--r--tck/org/atinject/tck/auto/accessories/SpareTire.java122
1 files changed, 122 insertions, 0 deletions
diff --git a/tck/org/atinject/tck/auto/accessories/SpareTire.java b/tck/org/atinject/tck/auto/accessories/SpareTire.java
new file mode 100644
index 0000000..5dd6211
--- /dev/null
+++ b/tck/org/atinject/tck/auto/accessories/SpareTire.java
@@ -0,0 +1,122 @@
+/*
+ * Copyright (C) 2009 The JSR-330 Expert Group
+ *
+ * Licensed 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.atinject.tck.auto.accessories;
+
+import org.atinject.tck.auto.FuelTank;
+import org.atinject.tck.auto.Tire;
+
+import javax.inject.Inject;
+
+public class SpareTire extends Tire {
+
+ FuelTank constructorInjection = NEVER_INJECTED;
+ @Inject FuelTank fieldInjection = NEVER_INJECTED;
+ FuelTank methodInjection = NEVER_INJECTED;
+ @Inject static FuelTank staticFieldInjection = NEVER_INJECTED;
+ static FuelTank staticMethodInjection = NEVER_INJECTED;
+
+ @Inject public SpareTire(FuelTank forSupertype, FuelTank forSubtype) {
+ super(forSupertype);
+ this.constructorInjection = forSubtype;
+ }
+
+ @Inject void subtypeMethodInjection(FuelTank methodInjection) {
+ if (!hasSpareTireBeenFieldInjected()) {
+ methodInjectedBeforeFields = true;
+ }
+ this.methodInjection = methodInjection;
+ }
+
+ @Inject static void subtypeStaticMethodInjection(FuelTank methodInjection) {
+ if (!hasBeenStaticFieldInjected()) {
+ staticMethodInjectedBeforeStaticFields = true;
+ }
+ staticMethodInjection = methodInjection;
+ }
+
+ @Inject private void injectPrivateMethod() {
+ if (subPrivateMethodInjected) {
+ similarPrivateMethodInjectedTwice = true;
+ }
+ subPrivateMethodInjected = true;
+ }
+
+ @Inject void injectPackagePrivateMethod() {
+ if (subPackagePrivateMethodInjected) {
+ similarPackagePrivateMethodInjectedTwice = true;
+ }
+ subPackagePrivateMethodInjected = true;
+ }
+
+ @Inject protected void injectProtectedMethod() {
+ if (subProtectedMethodInjected) {
+ overriddenProtectedMethodInjectedTwice = true;
+ }
+ subProtectedMethodInjected = true;
+ }
+
+ @Inject public void injectPublicMethod() {
+ if (subPublicMethodInjected) {
+ overriddenPublicMethodInjectedTwice = true;
+ }
+ subPublicMethodInjected = true;
+ }
+
+ private void injectPrivateMethodForOverride() {
+ superPrivateMethodForOverrideInjected = true;
+ }
+
+ void injectPackagePrivateMethodForOverride() {
+ superPackagePrivateMethodForOverrideInjected = true;
+ }
+
+ protected void injectProtectedMethodForOverride() {
+ protectedMethodForOverrideInjected = true;
+ }
+
+ public void injectPublicMethodForOverride() {
+ publicMethodForOverrideInjected = true;
+ }
+
+ public boolean hasSpareTireBeenFieldInjected() {
+ return fieldInjection != NEVER_INJECTED;
+ }
+
+ public boolean hasSpareTireBeenMethodInjected() {
+ return methodInjection != NEVER_INJECTED;
+ }
+
+ public static boolean hasBeenStaticFieldInjected() {
+ return staticFieldInjection != NEVER_INJECTED;
+ }
+
+ public static boolean hasBeenStaticMethodInjected() {
+ return staticMethodInjection != NEVER_INJECTED;
+ }
+
+ public boolean packagePrivateMethod2Injected;
+
+ @Inject void injectPackagePrivateMethod2() {
+ packagePrivateMethod2Injected = true;
+ }
+
+ public boolean packagePrivateMethod3Injected;
+
+ void injectPackagePrivateMethod3() {
+ packagePrivateMethod3Injected = true;
+ }
+}