16c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin/*
26c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * Copyright (C) 2014 The Android Open Source Project
36c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin *
46c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * Licensed under the Apache License, Version 2.0 (the "License");
56c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * you may not use this file except in compliance with the License.
66c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * You may obtain a copy of the License at
76c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin *
86c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin *      http://www.apache.org/licenses/LICENSE-2.0
96c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin *
106c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * Unless required by applicable law or agreed to in writing, software
116c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * distributed under the License is distributed on an "AS IS" BASIS,
126c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
136c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * See the License for the specific language governing permissions and
146c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * limitations under the License.
156c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin */
166c76f58f31635c19c14ae161f96dad2082537860Igor Murashkinpackage android.hardware.camera2.impl;
176c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin
186c76f58f31635c19c14ae161f96dad2082537860Igor Murashkinimport java.lang.annotation.ElementType;
196c76f58f31635c19c14ae161f96dad2082537860Igor Murashkinimport java.lang.annotation.Retention;
206c76f58f31635c19c14ae161f96dad2082537860Igor Murashkinimport java.lang.annotation.RetentionPolicy;
216c76f58f31635c19c14ae161f96dad2082537860Igor Murashkinimport java.lang.annotation.Target;
226c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin
236c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin/**
246c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * Denote a static field {@code Key} as being synthetic (i.e. not having a native
256c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * tag one-to-one counterpart).
266c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin *
276c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * <p>Keys without this annotated are assumed to always have a native counter-part.</p>
286c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin *
296c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * <p>In particular a key with a native counter-part will always have it's {@code #getTag}
306c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin * method succeed.</p>
316c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin */
326c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin@Retention(RetentionPolicy.RUNTIME)
336c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin@Target(ElementType.FIELD)
346c76f58f31635c19c14ae161f96dad2082537860Igor Murashkinpublic @interface SyntheticKey {
356c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin
366c76f58f31635c19c14ae161f96dad2082537860Igor Murashkin}
37