All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bugvm.apple.contacts.CNLabeledValue Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (C) 2013-2015 RoboVM AB
 *
 * 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 com.bugvm.apple.contacts;

/**/
import java.io.*;
import java.nio.*;
import java.util.*;
import com.bugvm.objc.*;
import com.bugvm.objc.annotation.*;
import com.bugvm.objc.block.*;
import com.bugvm.rt.*;
import com.bugvm.rt.annotation.*;
import com.bugvm.rt.bro.*;
import com.bugvm.rt.bro.annotation.*;
import com.bugvm.rt.bro.ptr.*;
import com.bugvm.apple.foundation.*;
/**/

/**/
/**
 * @since Available in iOS 9.0 and later.
 */
/**/
/**/@Library("Contacts") @NativeClass/**/
/**/public/**/ class /**/CNLabeledValue/**/ 
    extends /**/NSObject/**/ 
    /**//**/ {

    /**/public static class CNLabeledValuePtr extends Ptr {}/**/
    /**/static { ObjCRuntime.bind(CNLabeledValue.class); }/**/
    /**//**/
    /**/
    public CNLabeledValue() {}
    protected CNLabeledValue(SkipInit skipInit) { super(skipInit); }
    /**/
    public CNLabeledValue(String label, T value) {
        super((SkipInit)null);
        initObject(init(label, convertValue(value)));
    }
    public CNLabeledValue(CNLabel label, T value) {
        super((SkipInit)null);
        initObject(init(label.value().toString(), convertValue(value)));
    }
    
    private static NSObject convertValue(Object value) {
        if (value == null) {
            throw new NullPointerException("value");
        }
        if (value instanceof NSObject) {
            return (NSObject) value;
        } else if (value instanceof String) {
            return new NSString((String) value);
        } else {
            throw new IllegalArgumentException("unsupported value type: " + value.getClass());
        }
    }

    public T getValue() {
        NSObject value = getValue0();
        if (value == null) {
            return null;
        } else if (value instanceof NSString) {
            return (T) value.toString();
        }
        return (T) value;
    }
    public CNLabeledValue setValue(T value) {
        return setValue(convertValue(value));
    }
    public CNLabeledValue setLabelAndValue(String label, T value) {
        return setLabelAndValue(label, convertValue(value));
    }
    
    public CNLabeledValue setLabel(CNLabel label) {
        return setLabel(label.value().toString());
    }
    public CNLabeledValue setLabelAndValue(CNLabel label, T value) {
        return setLabelAndValue(label.value().toString(), value);
    }
    public static String getLocalizedLabel(CNLabel label) {
        return getLocalizedLabel(label.value().toString());
    }
    /**/
    @Property(selector = "identifier")
    public native String getIdentifier();
    @Property(selector = "label")
    public native String getLabel();
    @Property(selector = "value")
    private native NSObject getValue0();
    /**/
    /**//**/
    /**/
    @Method(selector = "initWithLabel:value:")
    private native @Pointer long init(String label, NSObject value);
    @Method(selector = "labeledValueBySettingLabel:")
    public native CNLabeledValue setLabel(String label);
    @Method(selector = "labeledValueBySettingValue:")
    private native CNLabeledValue setValue(NSObject value);
    @Method(selector = "labeledValueBySettingLabel:value:")
    private native CNLabeledValue setLabelAndValue(String label, NSObject value);
    @Method(selector = "localizedStringForLabel:")
    public static native String getLocalizedLabel(String label);
    /**/
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy